用户
 找回密码
 入住 CI 中国社区
搜索
查看: 8428|回复: 8
收起左侧

[Others] PHP5.3.6 + Nginx Fastcgi下持续出现502 Bad gateway问题

[复制链接]
发表于 2011-6-22 14:51:04 | 显示全部楼层 |阅读模式
这个问题折腾了我比较久的时间,最后将php重新编译至5.3.3才彻底解决,分享给大家,希望大家能够在必要的时候不走弯路。

问题描述:

一个在其他服务器(同时在apache 2和nginx 0.8.54)上运行正常的CI 2.0程序,移植到如下环境下出现持续性的502 Bad Gateway错误。

Centos 5.5 + PHP 5.3.6 + Nginx 0.8.54 + Mysql 5.1.x

起初我以为是nginx配置问题,不过反复检查之后发现;问题只可能出现在php版本对于fastcgi的处理方式上。

尝试在网上找到了类似的问题:

http://stackoverflow.com/questions/5583530/ci-osx-10-6-7-nginx-php-cgi-rendering-output-problem

问题出现CI初始化控制器的这行代码中:

$CI = new $class(); // php-fpm进程在此自动退出?

上面提到将php 5.3.6重新编译并加上--enable-cgi选项,我尝试了也无法解决这个问题。

具体问题原因目前我还不是特别清楚,希望web server专家出来解释下。

发表于 2011-6-22 17:06:35 | 显示全部楼层
我这里用 php 5.2.8 + lighttpd + php-fpm 没有问题。
 楼主| 发表于 2011-6-22 19:13:04 | 显示全部楼层
Hex 发表于 2011-6-22 17:06
我这里用 php 5.2.8 + lighttpd + php-fpm 没有问题。

lighttpd和nginx相比内存占用如何?我感觉nginx配合php-fpm虽然并发能力强,支持高负载但是内存吃的也多有做过生产环境下的对比吗?

我没用过lighttpd。
发表于 2011-6-22 20:48:31 | 显示全部楼层
没做过对比,我现在的生产环境都是 lighttpd。
发表于 2011-6-23 09:07:53 | 显示全部楼层
楼主的NG运行在Linux下还是Windows下?
 楼主| 发表于 2011-6-26 13:28:44 | 显示全部楼层
spt119 发表于 2011-6-23 09:07
楼主的NG运行在Linux下还是Windows下?

Centos 5.5 final
发表于 2011-6-26 16:03:22 | 显示全部楼层
5.3的PHP对mysql的连接做了很大的优化。
如果在apache下运行正常,那么NG的fastcgi_connect_timeout,fastcgi_send_timeout,fastcgi_read_timeout,php-fpm.conf里的max_children和request_terminate_timeout这几个参数分别改动一下看看。
再有502错误是开发机器上出现?还是在正常运行的服务器上?并发有多少?
发表于 2011-7-6 21:54:11 | 显示全部楼层
nginx也支持php-fpm模式的。
发表于 2011-7-19 09:22:13 | 显示全部楼层
http://www.yyphs.com/post/330.html这是我网上搜索的~

本版积分规则