nginx + php-fpmの環境で処理が途中で止まる
サーバーから外部API経由でデータを取得している処理でたまに途中で失敗していたので調べてみた。
環境: CentOS 5.9 x86_64, nginx 1.4.3, php-fpm 5.4.20
エラーログを見てみると
# tail -f /var/log/nginx/error.log
2013/10/17 20:03:36 [error] 5377#0: *3392 readv() failed (104: Connection reset by peer) while reading upstream
# tail -f /var/log/php-fpm/error.log
[17-Oct-2013 20:04:31] WARNING: [pool www] child 10965 exited on signal 11 (SIGSEGV) after 30946.471106 seconds from start
[17-Oct-2013 20:04:31] NOTICE: [pool www] child 13670 started
php-fpmのrequest_terminate_timeoutを設定すると直るという情報があったので設定してみる。
# vi /etc/php-fpm.d/www.conf
request_terminate_timeout = 30s
# /etc/rc.d/init.d/php-fpm restart
< Related Posts >