http 104 錯誤 錯誤recv() failed (104: Connection reset by peer) while reading response header from upstream


查了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 (默認:/usr/local/php/etc/php-fpm.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。這個過程是很慢,總體感覺就是網站很卡。

重啟 php-fpm 和 Nginx 一切正常。

 

service nginx restart (/usr/local/nginx/sbin/nginx -s stop;/usr/local/nginx/sbin/nginx;)

 

killall php-fpm (pkill -9 php)

php-fpm (/etc/init.d/php-fpm)

再打開就OK了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM