nginx本身不能处理php,只是一个web服务器,处理php需要借助php解释器处理,并把结果再次返回给nginx
nginx一般选择fastcgi管理进程处理,fastcgi选择cgi子进程处理,并返回给nginx
mv mirror php-7.1.2.tar.gz #修改文件名
tar -xvf php-7.1.2.tar.gz #解压 下载php源码包
cd php-7.1.2
./configure --enable-pfm #enbale-pfm 开启php-pfm
make
make install #编译安装
2 确保已经正确安装nginx
3 启动pfm ,报错
显示没有php-fpm.conf
解决:进入错误目录 将 php-fpm.conf.default 拷贝一份为php-fpm.conf即可
cd /usr/local/etc/
cp php-fpm.conf.default php-fpm.conf
编辑php-fpm.conf 文件
将最后一行include=NONE/etc/php-fpm.d/*.conf 改为 include=/usr/local/etc/php-fpm.d/*.conf
进入 /usr/local/etc/php-fpm.d 目录
将 www.conf.default 拷贝一份为 www.conf
cp www.conf.default www.conf
并编辑www.conf 文件
修改 文件中的user 和group
eg: user=www-php
group=www-php
如果没有该用户 添加用户和组
groupadd www-php
useradd -g www-php www=php
编辑nginx配置文件 nginx.conf 添加 FastCGI server 配置(注意fastcgi_param 配置,如果像注释中的配置一样会出现 文件找不到错误)
4 编辑测试php文件
在nginx 网页管理目录中添加 index.php文件
vi /usr/local/nginx/html/index.php
<?php > echo phpinfo();<?>
5 查看nginx配置文件是否修改成功
/usr/local/nginx/nginx -t
6 重新加载nginx服务并启动fpm-php服务
/usr/local/nginx/nginx -s reload
/usr/local/sbin/php-fpm
7 查看 php-fpm以及端口状况
ps -ef |grep php-fpm
netstat -ano|grep 9000
8 测试
打开浏览器 url localhost/index.php