我在服务器中发现了2种502错误:
connection reset by peer, it happens as request_time reach to 10s.
connection timeout, it happens as request_time reach to 3s.
服务器是:
centos , kernel(2.6.32)
php5.2 php-fpm
nginx 1.6.3.
访问日志输出:
[28/Nov/2015:14:41:08 +0800] "GET /ben2.php HTTP/1.1" 502 172 "-" "Apache-HttpClient/4.2.6 (java 1.5)" "-" 3.000
[28/Nov/2015:14:41:11 +0800] "GET /ben2.php HTTP/1.1" 502 172 "-" "Apache-HttpClient/4.2.6 (java 1.5)" "-" 10.000
错误日志:
2015/11/28 14:41:11 [error] 12981#0: *798323 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: xx.xx.xx.xx, server: xx.xx.xx, request: "GET /ben2.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "xx.xx.xx"
2015/11/28 14:41:08 [error] 12981#0: *798215 connect() failed (110: Connection timed out) while connecting to upstream, client: xx.xx.xx.xx, server: xx.xx.xx, request: "GET /ben2.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "xx.xx.xx"
我尝试了“request_terminate_timeout,fastcgi_connect_timeout,fastcgi_read / write_timeout”,但没有帮助。
下一步我该怎么办?
编辑: 我写了一个运行11s的php文件,没有502错误(所以我认为nginx和php没有限制)。
502错误可能仅在压力测试中出现。
并且在502错误上,php脚本仍然成功运行。