我的系统环境:CentOS 7.4 64位
PHP下载页面:http://php.net/downloads.php
1、先安装编译依赖的库
$ yum install -y zlib zlib-devel libxml2 libxml2-devel openssl openssl-devel
2、源码编译安装PHP
$ wget http://hk2.php.net/get/php-7.2.11.tar.gz/from/this/mirror
$ tar zxvf php-7.2.11.tar.gz
$ cd php-7.2.11
$ ./configure --prefix=/usr/local/php --enable-fpm --with-openssl --with-mysqli \
--with-config-file-path=/usr/local/php/etc
$ make
$ make install
3、配置php.ini
$ cp php.ini-development /usr/local/php/etc/php.ini
4、配置php-fpm.conf
$ cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
$ vi /usr/local/php/etc/php-fpm.conf
将 'pid = run/php-fpm.pid' 前面的分号去掉,然后:wq保存退出
$ cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
# 先创建www用户组和www用户,并把www用户分配到www用户组中
$ groupadd www
$ useradd -g www www
$ vi /usr/local/php/etc/php-fpm.d/www.conf
将 user = nobody
group = nobody
修改值如下值
user = www
group = www
ESC :wq 保存退出
5、php-fpm 添加到service启动
# (假设当前在源代码的根目录下)
$ cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# 授予执行权限
$ chmod +x /etc/init.d/php-fpm
# 添加到service中
$ chkconfig --add php-fpm
# 开机启动php-fpm服务
$ chkconfig php-fpm on
# 常用命令
启动命令:service php-fpm start
停止命令:service php-fpm stop
重启命令:service php-fpm restart
可能遇到的问题!!!
问题1:connect() failed (111: Connection refused) while connecting to upstream
解决办法: 确保源码make编译php前,configure有加--enable-fpm,以及php-fpm服务是运行状态。