nginx 配置文件:
Nginx 默认使用 include enable-PHP.conf; 通过 enable-PHP.conf 来解析 PHP, 该文件内容如下
- location ~ [^/]\.PHP(/|$)
- {
- try_files $uri =404;
- fastcgi_pass unix:/tmp/PHP-CGI.sock;
- fastcgi_index index.PHP;
- include fastcgi.conf;
- }
而我们使用 nginx 自然要使用 fastCGI 来跑 PHP,Nginx 之所以并发高跟 fastCGI 脱不开关系, 有自动管理 PHP-CGI 进程的能力, 总之就是它很屌, 使用 Nginx 不用 fastCGI 的话就好像抽烟不点火.
因此我们看到 Nginx 的配置文件中有 :include enable-PHP.conf; 这行代码的话, 请自觉在前面加个 #注释掉~
然后添加一个类似的 location, 下面是例子
- location ~ [^/]\.PHP(/|$)
- {
- try_files $uri =404;
- fastcgi_pass 127.0.0.1:9000;
- # fastcgi_pass unix:/tmp/PHP-CGI.sock;
- fastcgi_index index.PHP;
- include /usr/local/nginx/conf/fastcgi.conf;
- fastcgi_split_path_info ^((?U).+\.PHP)(/?.+)$;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_param PATH_INFO $fastcgi_path_info;
- fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; #该参数正常情况下应打开, 如果报错 access deny 且常规方法无法解决时 请注释掉
- include /usr/local/nginx/conf/fastcgi_params;
- }
然后别急着重启 Nginx,
VIM /usr/local/PHP/etc/PHP-fpm.conf // 修改此文件
进来后, 修改 listen, 对应 Nginx 中的 9000 端口
- #listen = /tmp/PHP-CGI.sock
- listen = 127.0.0.1:9000
然后重启 PHP-fpm 和 nginx, service 不行的用 systemctl 命令.
- service PHP-fpm restart
- service nginx restart
OK.
结束
来源: http://www.bubuko.com/infodetail-3003116.html