首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >nginx 502坏网关

nginx 502坏网关
EN

Stack Overflow用户
提问于 2010-11-23 11:01:40
回答 11查看 181.8K关注 0票数 64

当我使用spawn fcgi生成php5-cgi时,我得到了一个502 Bad Gateway with nginx。

我使用rc.local中的以下行在server start上使用它来跨越一个实例

代码语言:javascript
复制
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

大概是因为spawn-fcgi / php5-cgi死了,再也没有监听来解析php,所以我得到了这个错误。

我在日志中看不到任何我能看到的东西,我已经没有想法了(并且是nginx的新设置)

EN

回答 11

Stack Overflow用户

发布于 2011-04-15 19:32:04

出现502错误是因为nginx无法切换到php5-cgi。您可以尝试重新配置php5-cgi以使用unix套接字,而不是tcp。然后调整服务器配置,使其指向套接字,而不是tcp ...

代码语言:javascript
复制
ps auxww | grep php5-cgi #-- is the process running?  
netstat -an | grep 9000 # is the port open? 
票数 9
EN

Stack Overflow用户

发布于 2014-06-30 15:13:05

转到/etc/php5/fpm/pool.d/www.conf,如果您正在使用套接字或此行未注释

代码语言:javascript
复制
listen = /var/run/php5-fpm.sock

还设置了几个其他值:-

代码语言:javascript
复制
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

不要忘记重新启动php-fpm和nginx。确保使用相同的nginx所有者和组名称。

票数 8
EN

Stack Overflow用户

发布于 2014-06-30 22:33:01

您必须匹配PHP-FPM和Nginx的设置才能通过套接字或TCP进行通信。

因此,请转到/etc/php5/fpm/pool.d/www.conf并查找这一行:

代码语言:javascript
复制
listen = /var/run/php5-fpm.sock

然后转到/etc/nginx/nginx.conf

查找以下内容:

代码语言:javascript
复制
upstream php {
    server unix:/var/run/php5-fpm.socket;
}

匹配这些值,您应该都设置好了。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4252368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档