安装nginx
可以使用yum安装yum install nginx
nginx需要root启动,工作进程为nginx用户,nginx组
安装php7
可以使用yum安装yum install php
但是这样安装没有数据驱动PDO
所以考虑源码编译安装
- 下载源码
curl -o php.tar.bz2 https://www.php.net/distributions/php-7.1.30.tar.bz2
或者wget -O php.tar.bz2 https://www.php.net/distributions/php-7.1.30.tar.bz
- 安装依赖
sudo yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel gcc make gcc-c++
- 解压进入解压目录
tar jxf php.tar.bz2
- 配置
./configure --prefix=/mnt/php7 --with-mysqli --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo
- 安装
make && make install
配置php
# 1. 修改 /mnt/php7/etc/php-fpm.d/www.conf 启动用户/用户组
23 user = nginx
24 group = nginx
# 2. 修改php-fpm监听的sock文件
36 listen = /run/php-fpm/www.sock
# 3. 修改sock文件权限 去掉注释
49 listen.mode = 0666
# 4. 增加PID文件 修改 /mnt/php7/etc/php-fpm.conf
17 pid = /run/php-fpm.pid
php-fpm命令
# 重启
sudo kill -usr2 `cat /var/run/php-fpm.pid`
# 关闭
sudo kill -INT `cat /var/run/php-fpm.pid`
# 启动
sudo /mnt/php7/sbin/php-fpm
测试php
<?php
echo phpinfo();
?>
常见问题
php-fpm与nginx通信connect() to unix:/tmp/php-fpm.sock failed (13: Permission denied) 的解决方法
参照配置php第三步修改后关闭再启动php-fpm
php (13: Permission denied)
的问题
或许是Redhat的权限的问题sudo setenforce 0