微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在nginx上用FastCGI解析PHP

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来跑PHPNginx之所以并发高跟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。

结束

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐