[LNMP]安装MySQL和PHP

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

    和LAMP不同的是,提供web服务的是Nginx,并且php是作为一个独立服务存在的,这个服务叫做php-fpm。Nginx直接处理静态请求,动态请求会转发给php-fpm。因此,在静态页面的处理上,Nginx较Apache更胜一筹。

wKioL1mLCsWjQDqyAACMdrsi29E529.png


安装MySQL

1、下载并解压

1
2
3
[root@juispan src] # wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 
[root@juispan src] # tar zxf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 
[root@juispan src] # mv mysql-5.6.35-linux-glibc2.5-x86_64 /usr/local/mysql

2、创建用户与文件夹

1
2
3
[root@juispan src] # cd /usr/local/mysql
[root@juispan mysql] #  useradd mysql
[root@juispan mysql] #  mkdir /data/

3、初始化数据库

1
2
[root@juispan mysql] # yum install -y perl perl-Data-Dumper libaio libaio-devel
[root@juispan mysql] # ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

4、拷贝启动脚本文件

1
2
3
[root@juispan mysql] # cp support-files/my-default.cnf  /etc/my.cnf 
cp :是否覆盖 "/etc/my.cnf" ? y
[root@juispan mysql] # cp support-files/mysql.server /etc/init.d/mysqld

5、启动MySQL

1
2
3
4
5
6
7
8
[root@juispan mysql] # vi /etc/init.d/mysqld
basedir= /usr/local/mysql
datadir= /data/mysql
[root@juispan mysql] # chkconfig --add mysqld
[root@juispan mysql] # chkconfig mysqld on
[root@juispan mysql] # service mysqld start
Starting MySQL.Logging to  '/data/mysql/juispan.err' .
  SUCCESS!


安装PHP

1、下载并解压

1
2
3
[root@juispan mysql] # cd /usr/local/src
[root@juispan src] # wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
[root@juispan src] # tar zxf php-5.6.30.tar.gz

2、配置php

1
2
3
[root@juispan src] # useradd -s /sbin/nologin php-fpm
[root@juispan src] # cd php-5.6.30
[root@juispan php-5.6.30] # ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl  --with-openssl

在配置过程中,会遇到一个接一个的配置失败,这里需要耐心处理。

问题1:configure: error: xml2-config not found. Please check your libxml2 installation.

1
[root@juispan php-5.6.30] # yum install -y libxml2-devel

问题2:configure: error: Cannot find OpenSSL's <evp.h>

1
[root@juispan php-5.6.30] # yum install -y openssl-devel

问题3:configure: error: Please reinstall the BZip2 distribution

1
[root@juispan php-5.6.30] # yum install -y bzip2-devel

问题4:configure: error: jpeglib.h not found.

1
[root@juispan php-5.6.30] # yum install -y libjpeg-turbo-devel

问题5:configure: error: png.h not found.

1
[root@juispan php-5.6.30] # yum install -y libpng-devel

问题6:configure: error: freetype-config not found.

1
[root@juispan php-5.6.30] # yum install -y freetype-devel

问题7:configure: error: mcrypt.h not found. Please reinstall libmcrypt.

1
[root@juispan php-5.6.30] # yum install -y libmcrypt-devel

问题8:configure: error: Please reinstall the libcurl distribution -easy.h should be in <curl-dir>/include/curl/

1
[root@juispan php-5.6.30] # yum install -y libcurl-devel

处理完以上问题后,重新配置出现以下文本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+
 
Thank you for using PHP.
 
config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/fpm/php-fpm.conf
config.status: creating sapi/fpm/init.d.php-fpm
config.status: creating sapi/fpm/php-fpm.service
config.status: creating sapi/fpm/php-fpm.8
config.status: creating sapi/fpm/status.html
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: main/php_config.h is unchanged
config.status: executing default commands

以上文本内容表示配置成功,如果不放心可以用“echo $?”确认下。

3、编译与安装

1
2
[root@juispan php-5.6.30] # make
[root@juispan php-5.6.30] # make install

4、调整php-fpm配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@juispan php-5.6.30] # cp php.ini-production /usr/local/php-fpm/etc/php.ini
[root@juispan php-5.6.30] # vi /usr/local/php-fpm/etc/php-fpm.conf
[global]
pid =  /usr/local/php-fpm/var/run/php-fpm .pid
error_log =  /usr/local/php-fpm/var/log/php-fpm .log
[www]
listen =  /tmp/php-fcgi .sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
[root@juispan php-5.6.30] # /usr/local/php-fpm/sbin/php-fpm -t
[08-Aug-2017 21:16:46] NOTICE: configuration  file  /usr/local/php-fpm/etc/php-fpm .conf  test  is successful

5、启动php-fpm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
[root@juispan php-fpm] # cp /usr/local/src/php-5.6.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@juispan php-fpm] # chmod 755 /etc/init.d/php-fpm 
[root@juispan php-fpm] # chkconfig --add php-fpm
[root@juispan php-fpm] # chkconfig php-fpm on
[root@juispan php-fpm] # service php-fpm start
Starting php-fpm   done
[root@juispan php-fpm] # ps aux|grep php-fpm
root     11303  0.0  0.4 123048  4936 ?        Ss   21:20   0:00 php-fpm: master process ( /usr/local/php-fpm/etc/php-fpm .conf)
php-fpm  11304  0.0  0.4 123048  4700 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11305  0.0  0.4 123048  4700 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11306  0.0  0.4 123048  4700 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11307  0.0  0.4 123048  4700 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11308  0.0  0.4 123048  4704 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11309  0.0  0.4 123048  4704 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11310  0.0  0.4 123048  4704 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11311  0.0  0.4 123048  4704 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11312  0.0  0.4 123048  4704 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11313  0.0  0.4 123048  4704 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11314  0.0  0.4 123048  4704 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11315  0.0  0.4 123048  4704 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11316  0.0  0.4 123048  4704 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11317  0.0  0.4 123048  4704 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11318  0.0  0.4 123048  4708 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11319  0.0  0.4 123048  4708 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11320  0.0  0.4 123048  4708 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11321  0.0  0.4 123048  4708 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11322  0.0  0.4 123048  4708 ?        S    21:20   0:00 php-fpm: pool www
php-fpm  11323  0.0  0.4 123048  4708 ?        S    21:20   0:00 php-fpm: pool www
root     11325  0.0  0.0 112664   972 pts /0     R+   21:21   0:00  grep  --color=auto php-fpm
本文转自Grodd51CTO博客,原文链接: http://blog.51cto.com/juispan/1954974 ,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
2月前
|
JavaScript Linux PHP
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
119 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
|
3月前
|
自然语言处理 测试技术 API
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
317 5
|
5月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
276 17
|
8月前
|
运维 JavaScript 应用服务中间件
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
本文介绍了OS Copilot在ECS上 Alibaba Cloud Linux的安装与使用,并对其多项参数进行了功能测评。OS Copilot是为操作系统提供智能化辅助的工具,支持自动化任务、智能推荐、故障排查等功能。安装时需检查是否已安装(`rpm -q os-copilot`),若未安装则用`yum install os-copilot`命令安装,并配置AccessKey信息连接阿里云服务。通过测试不同参数命令,如`-t`参数,展示了其自动化执行和智能生成回答的能力,显著提升运维效率。
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
|
5月前
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
174 6
|
6月前
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
360 23
|
6月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
141 18
|
7月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
311 25
|
7月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
189 20
|
Web App开发 关系型数据库 应用服务中间件

推荐镜像

更多