nginxのタイムアウト時間の設定方法は何ですか?
nginxの設定を変更することで、タイムアウト時間を調整することができます。
以下は一般的なタイムアウト時間の設定方法です:
- クライアント側のタイムアウト時間:指定された時間内にクライアントが完全なリクエストヘッダを送信しない場合、タイムアウトが発生します。client_header_timeoutの設定を使用して、デフォルトは60秒です。
- 例えば、client_header_timeoutを120秒に設定してください。
- クライアントが指定された時間内にリクエストボディを完全に送信しない場合、クライアントボディタイムアウトが発生します。 デフォルトでは60秒で、client_body_timeout設定で変更可能です。
- 例えば、client_body_timeout 120秒;
- 代理サーバーのタイムアウト時間:nginxがプロキシサーバーとして動作する場合、アップストリームサーバーとの接続を確立した後、指定された時間内にアップストリームサーバーから応答を受け取らない場合、タイムアウトします。デフォルトは60秒で、proxy_timeout設定で変更可能です。
- たとえば、proxy_timeout 120秒;
- FastCGIのタイムアウト時間:nginxがFastCGIサーバーと接続し、指定された時間内にFastCGIサーバーからの応答を受け取らない場合、タイムアウトします。デフォルトではfastcgi_read_timeout設定で60秒に設定されています。
- 例えば、fastcgi_read_timeoutを120秒に設定する。
- uwsgiのタイムアウト時間は、nginxとuwsgiサーバーが接続されてから指定された時間内にuwsgiサーバーからの応答がない場合、タイムアウトします。デフォルトでは60秒のuwsgi_read_timeout設定で変更可能です。
- 例えば、uwsgi_read_timeout 120秒;
- SCGI のタイムアウト時間は、Nginx が SCGI サーバーとの接続を確立した後、指定された時間内に SCGI サーバーからの応答を受信しない場合、タイムアウトします。scgi_read_timeout 設定でデフォルト値は 60 秒に設定されています。
- scgi_read_timeoutを120秒に設定してください。
上記の設定項目は、必要に応じて調整することができます。タイムアウト時間を短く設定すると、リクエストが失敗する可能性がありますが、長く設定するとサーバーに負荷がかかる可能性がありますので、注意が必要です。