nginx + php-fpmの環境で処理が途中で止まる

php-fpm_errorサーバーから外部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 >