1.Nginx 配置完后 出现404。 遇到这种情况,第一个想到是Nginx 与 PHP 没有配置 pathinfo 的问题。 解决方法: Nginx.conf加上这段 location ~ .+\.PHP($|/) { set $script $uri; set $path_info ""; if ($uri ~ "^(.+\.PHP)(/.+)") { set $script $1; set $path_info $2; } fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.PHP?IF_REWRITE=1; fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_FILENAME $root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $script; include fastcgi_params; } 2.PHP.ini cgi.fix_pathinfo=1 1.Nginx 配置完后 出现500。 遇到这种情况,想到的是open_basedir 错误。 最后发现是(在Nginx配置目录) fastcgi.conf 中的open_basedir在捣鬼,将: "open_basedir=$document_root/:/tmp/:/proc/" 改成: "open_basedir=$document_root/../:/tmp/:/proc/" 或者干脆把这行注释掉,问题解决 3.Nginx 配置完后 出现502。 遇到这种情况打开日志 出现:connect() Failed (111: Connection refused) while connecting to upstream 现在需要查看一下是否有监听9000端口: [root@izwz9glf2r6p2z8ytslvblz /]# netstat -ant | grep 9000 发现并没有监听到,但实际上我们的PHP-fpm已经启动,那现在怎么办呢? 我们去查看一下PHP-fpm.conf里面的配置: [root@izwz9glf2r6p2z8ytslvblz /]# vim /usr/local/PHP/etc/PHP-fpm.conf 找到listen: <value name="listen_address">/tmp/php-cgi.sock</value> 此时我们需要根据配置文件的listen地址做对应的修改: location ~ \.PHP$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.PHP; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 改成: location ~ \.PHP$ { fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.PHP; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } Access denied 在PHP.ini配置 将cgi.fix_pathinfo的值改成1 最后成功的配置 server { listen 80; server_name localhost; access_log /home/wwwlogs/access.log; error_log /home/wwwlogs/Nginx_error.log; set $root /home/wwwroot/vaeThink/public; location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ { root $root; } location / { root $root; index index.html index.PHP; if ( -f $request_filename) { break; } if ( !-e $request_filename) { rewrite ^(.*)$ /index.PHP/$1 last; break; } } location ~ .+\.PHP($|/) { set $script $uri; set $path_info ""; if ($uri ~ "^(.+\.PHP)(/.+)") { set $script $1; set $path_info $2; } fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.PHP?IF_REWRITE=1; fastcgi_param PATH_INFO $path_info; fastcgi_param SCRIPT_FILENAME $root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $script; include fastcgi_params; } } 作者:一生悬命Cat 链接:https://www.jianshu.com/p/30048bfe83d2 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。