PHP5.3.6 + Nginx Fastcgi下持续出现502 Bad gateway问题
这个问题折腾了我比较久的时间,最后将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专家出来解释下。
我这里用 php 5.2.8 + lighttpd + php-fpm 没有问题。 Hex 发表于 2011-6-22 17:06 static/image/common/back.gif
我这里用 php 5.2.8 + lighttpd + php-fpm 没有问题。
lighttpd和nginx相比内存占用如何?我感觉nginx配合php-fpm虽然并发能力强,支持高负载但是内存吃的也多有做过生产环境下的对比吗?
我没用过lighttpd。 没做过对比,我现在的生产环境都是 lighttpd。 楼主的NG运行在Linux下还是Windows下? spt119 发表于 2011-6-23 09:07 static/image/common/back.gif
楼主的NG运行在Linux下还是Windows下?
Centos 5.5 final 5.3的PHP对mysql的连接做了很大的优化。
如果在apache下运行正常,那么NG的fastcgi_connect_timeout,fastcgi_send_timeout,fastcgi_read_timeout,php-fpm.conf里的max_children和request_terminate_timeout这几个参数分别改动一下看看。
再有502错误是开发机器上出现?还是在正常运行的服务器上?并发有多少? nginx也支持php-fpm模式的。:D http://www.yyphs.com/post/330.html这是我网上搜索的~
页:
[1]