[文章作者:張宴 本文版本:v1.0 最後修改:2008.07.30 轉載請註明原文鏈接:http://blog.s135.com/read.php/361/]
昨日,有朋友問我,他將Web服務器換成Nginx 0.6.31 + PHP 4.4.7(FastCGI)後,有時候訪問會出現“502 Bad Gateway”錯誤,如何解決。
我讓按照以下兩個步驟去解決,最後在第2步中將FastCGI的timeout時間增加爲300,問題解決:
PS:比較羨慕迅雷的Web服務器,16G內存。
1、查看當前的PHP FastCGI進程數是否夠用:
netstat -anpo | grep "php-cgi" | wc -l
如果實際使用的“FastCGI進程數”接近預設的“FastCGI進程數”,那麼,說明“FastCGI進程數”不夠用,需要增大。
2、部分PHP程序的執行時間超過了Nginx的等待時間,可以適當增加nginx.conf配置文件中FastCGI的timeout時間,例如:
......
http
{
......
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
......
}
......
http
{
......
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
......
}
......