nginxのタイムアウトエラー(upstream timed out (110: Connection timed out) while reading response header from upstream)

サーバー

nginxで

upstream timed out (110: Connection timed out) while reading response header from upstream

というエラーが発生したので、原因を調査しました。

スポンサーリンク
スポンサーリンク

upstream timed out (110: Connection timed out) while reading response header from upstream

Apacheからnginxへ移行して、1週間ほど安定して稼働していると思っていたのですが、nginxサーバーでタイムアウトのエラーが出ました。

取り急ぎ、nginxのエラーログとアクセスログを調べてみました。

nginxのエラーログ

nginxのアクセスログ

実際、ブラウザからアクセスしようとすると、504 Gateway Time-outとなってしまいます。

image

さくらインターネットのVPS(仮想専用サーバー)のサーバー・ネットワークの監視(リソース情報、Uptime Robot)
当ブログはさくらインターネットのVPS(仮想専用サーバー)を使っているのですが、時々、CPU100%負荷になってアクセスが遅くなります。 ...

で立てた監視サーバーを見てみます。

image

205時間39分連続で安定稼働していたサーバーが、Gateway Timeoutでアクセスできなくなっていたことが分かります。

ちょっとショックです。

upstream timed out (110: Connection timed out) の解決方法

nginxでFastCGIを使っている(php-fpmを使っている)場合、以下の設定を試してみます。

/etc/php-fpm.d/www.conf に以下の行を追加します。

php-fpmを再起動します。

# service php-fpm restart

次に、/etc/nginx/conf.d/wordpress.conf に以下の行を追加します。

an upstream response is buffered to a temporary file /var/cache/nginx/fastcgi_temp/4/60/0000005604 while reading upstream の解決方法

他にもこんなエラーが出ていました。

nginxのエラーログ

/etc/nginx/nginx.conf に以下の行を追加します。

worker_connections exceed open file resource limit: 1024 の解決方法

ついでに、worker_connectionsを追加します。

/etc/nginx/nginx.conf に以下の行を追加します。

nginxを再起動します。

# service nginx restart

[warn] 2018 worker_connections exceed open file resource limit: 1024

という警告が表示されました。

CentOS 5ではデフォルトのファイルディスクリプタの上限は1024のようです。

実際、

# ulimit -n で1024

と表示されます。

/etc/security/limits.conf をエディターで開いて以下の行を追加します。

この後、rootからexitしてから、再度suコマンドでrootになります。

つまり、su -で読み直せば、/etc/security/limits.conf の設定は反映されます。

# ulimit -n で2048

と表示されることを確認します。

再度、nginxを再起動します。

# service nginx restart

無事にnginxが再起動されました。

Googleウェブマスターツールで「このサイトマップの URL の一部でレスポンスの遅延が生じています。」

Googleウェブマスターツールでも以下のエラーが表示されていました。

:警告
問題:このサイトマップの URL の一部でレスポンスの遅延が生じています。
説明:このサイトマップにリストされている URL の一部でレスポンスの遅延が生じています。 サーバーまたはページのコンテンツに問題のある可能性があります。

今回の設定変更で修正されるかしばらく様子を見てみることにします。

さくらのVPSサーバー

↓月額685円からの低価格&高パフォーマンスのVPS、さくらのVPSはコチラ

SSDプランが月々685円から使える!さくらのVPS