一、删除旧版本php
#yum remove php-common
二、安装php
详细内容:https://wiki.centos.org/zh-tw/HowTos/php7?highlight=%28php7%29
首先,安装软件库(它是一个需要启动的官方软件库)。
# yum -y install centos-release-scl.noarch
安裝 PHP 7 套件和它的插件。
\ # yum -y install rh-php70 rh-php70-php rh-php70-php-fpm
三、配置使用php-fpm
nginx和fastcgi的通信方式有两种,一种是TCP的方式,一种是unix socke方式
- TCP是使用TCP端口连接127.0.0.1:9000
- Socket是使用unix domain socket连接套接字
1、TCP配置方式
- 编辑 /etc/nginx/conf.d/你的站点配置文件。将fastcgi_pass参数修改为127.0.0.1:9000
- 编辑php-fpm配置文件 /etc/opt/rh/rh-php71/php-fpm.d/www.conf
- 将user和group的值设为nginx
user = nginx
group = nginx
- listen的值设置为127.0.0.1:9000,和站点配置文件中fastcgi_pass参数的值一样
- 完成后,我们必须更改 selinux 的资料库并加入9000端口为httpd服务的有效连接。
semanage port -a -t http_port_t -p tcp 9000
- 重启php-fpm,重启nginx
2、unix socket配置方式
以文件(一般是.sock)作为socket的唯一标识(描述符),需要通信的两个进程引用同一个socket描述符文件就可以建立通道进行通信了。
- 创建socket描述符文件
sudo touch /var/run/php7.1-fpm.sock
sudo chown nginx:nginx /var/run/php7.1-fpm.sock
sudo chmod 666 /var/run/php7.1-fpm.sock
- 修改php-fpm配置文件中
- 将user和group的值设为nginx
user = nginx
group = nginx
- listen的值设置为/var/run/php7.1-fpm.sock,和站点配置文件中fastcgi_pass参数的值一样
- 去掉listen.owner、listen.group、listen.mode前面的分号,以使php-fpm使用unix socket,并将listen.owner、listen.group的值设置为nginx
listen.owner = nginx
listen.group = nginx
- 修改nginx站点配置文件.编辑 /etc/nginx/conf.d/你的站点配置文件。将fastcgi_pass参数修改为/var/run/php7.1-fpm.sock
- 重启nginx和php-fpm服务(最好先重启php-fpm再重启nginx)