700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > nginx+php-fpm配置后页面显示空白的解决方法以及用nginx和php-fpm解决“502 Bad Gateway”问题...

nginx+php-fpm配置后页面显示空白的解决方法以及用nginx和php-fpm解决“502 Bad Gateway”问题...

时间:2019-10-01 21:38:21

相关推荐

nginx+php-fpm配置后页面显示空白的解决方法以及用nginx和php-fpm解决“502 Bad Gateway”问题...

For reference, I am attaching my location block for catching files with the .php extension:

location ~ \.php$ {

include /path/to/fastcgi_params;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

}

Double-check the /path/to/fastcgi-params, and make sure that it is present and readable by the nginx user.

由于nginx与php-fpm之间的一个小bug,会导致这样的现象: 网站中的静态页面 *.html 都能正常访问,而 *.php 文件虽然会返回200状态码, 但实际输出给浏览器的页面内容却是空白。 简而言之,原因是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析, 相当于php-fpm接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果。 为了解决这个问题,需要改动nginx默认的fastcgiparams配置文件: vi /etc/nginx/fastcgi_params 在文件的最后增加两行:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_script_name;

然后重启一下服务:

service php5-fpm reload service nginx reload //重新加载各项配置改动。

/solving-502-bad-gateway-with- nginx-php-fpm/

升级php-fpm后,我的基于PHP的站点返回“502 Bad Gateway”错误。当php5-fpm软件包重新配置自己以侦听不同的套接字时,就会发生这种情况。这是你如何解决它。

检查以确保php-fpm正在运行 ps aux | grep php- 如果你在输出中看不到任何php-fpm进程,那么你可能需要重新安装php-fpm。如果php-fpm运行正常,那么跳过第一步。

sudo apt-get remove php5 php5-cgi php5-fpm

sudo apt-get install php5 php5-cgi / php5-fpm

这里需要注意的是,安装软件包的顺序很重要。在过去,我发现以错误的顺序安装它们会导致包配置错误。

接下来,获取php-fpm以侦听正确的主机/端口。在/etc/php5/fpm/pool.d/www.conf变化的listen值以匹配fastcgi_pass您的Nginx的配置位置。例如,我改变了我的意见:

listen = /var/run/php5-fpm. sock

至:

listen = 127.0.0.1:9000

如果您正在配置php-fpm以侦听Unix套接字,则还应检查套接字文件是否具有正确的所有者和权限。虽然我不推荐它,但您可以简单地为所有人提供读写权限sudo chmod go+rw /var/run/php5-fpm.sock。

重启php-fpm,sudo service php5-fpm restart一切都应该正常工作。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。