解決 recv() failed (104: Connection reset by peer) while reading response header from upstream
阿新 • • 發佈:2019-02-17
Nginx出現502 Bad Gateway 錯誤,
查了Nginx的錯誤日誌為:
2014/08/02 16:14:31 [error] 17029#0: *17941 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 210.61.12.2, server: blog.lixiphp.com, request: “POST /api/1.0 HTTP/1.1″, upstream: “fastcgi://127.0.0.1:9000″, host: “blog.lixiphp.com” 2014/08/02 16:24:52 [error] 29615#0: *3 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 58.220.197.35, server: blog.lixiphp.com, request: “GET /404 HTTP/1.1″, upstream: “fastcgi://127.0.0.1:9000″, host: “blog.lixiphp.com”
不要使用php-fpm的request_terminate_timeout,最好設成request_terminate_timeout=0;
vi /etc/php-fpm.d/www.conf
; The timeout for serving a single request after which the worker process will ; be killed. This option should be used when the ‘max_execution_time’ ini option ; does not stop script execution for some reason. A value of ’0′ means ‘off’. ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) ; Default Value: 0 request_terminate_timeout = 0
因為這個引數會直接殺掉php程序,然後重啟php程序,這樣前端nginx就會返回104: Connection reset by peer。這個過程是很慢,總體感覺就是網站很卡。
重啟nginx及php-fpm
轉自:http://ju.outofmemory.cn/entry/86702