Nginxのネットワーク接続設定項目とは何ですか?

coldplay.xixi
リリース: 2020-06-29 16:55:10
オリジナル
3024 人が閲覧しました

Nginx ネットワーク接続設定項目は次のとおりです: 1. HTTP ヘッダー読み取りのタイムアウト; 2. HTTP パケット本体読み取りのタイムアウト; 3. 応答送信のタイムアウト; 4. タイムアウト接続オプションのリセット。

Nginxのネットワーク接続設定項目とは何ですか?

Nginx ネットワーク接続設定項目は次のとおりです:

1. HTTP ヘッダー読み取りのタイムアウト

構文:

client_header_timeout time(默认单位:秒);
ログイン後にコピー

デフォルト:

client_header_timeout 60;
ログイン後にコピー

構成ブロック: http,server,location

クライアントがサーバーとの接続を確立した後に開始されます。 HTTP ヘッダー。このプロセス中に、一定時間 (タイムアウト時間) 以内にクライアントからバイトが読み取られない場合、タイムアウトとみなされ、408 (「リクエストがタイムアウトしました」) 応答がクライアントに返されます。

推奨チュートリアル: nginx クイック スタート チュートリアル

2. HTTP パケット本文の読み取りタイムアウト

構文:

client_body_timeout time(默认单位:秒);
ログイン後にコピー

デフォルト:

client_body_timeout 60;
ログイン後にコピー

構成ブロック: http、server、location

この構成項目は client_header_timeout と似ていますが、このタイムアウトが読み取り専用である点が異なります。 HTTP パケット本体のみ。

3. 応答送信のタイムアウト

構文:

send_timeout time;
ログイン後にコピー

デフォルト:

send_timeout 60;
ログイン後にコピー

設定ブロック: http、server、location

このタイムアウトは、応答送信のタイムアウトです。つまり、Nginx サーバーがクライアントにデータ パケットを送信しましたが、クライアントはデータ パケットを受信しませんでした。接続が send_timeout で定義されたタイムアウトを超えると、Nginx は接続を閉じます。

4. タイムアウト接続オプションのリセット

構文:

reset_timeout_connection on | off;
ログイン後にコピー

デフォルト:

reset_timeout_connection off;
ログイン後にコピー

設定ブロック: http、server、location

接続がタイムアウトすると、RST パケットをクライアントに送信することで接続が直接リセットされます。このオプションをオンにすると、Nginx は特定の接続がタイムアウトになった後に通常の 4 ウェイ ハンドシェイクを使用せずに TCP 接続を閉じ、代わりに RST リセット パケットをユーザーに直接送信し、ユーザーの応答を待たなくなります。このソケットで使用されるすべてのキャッシュ (TCP スライディング ウィンドウなど) に関して、Nginx サーバーを直接解放します。通常のシャットダウン方法と比較して、サーバーは FIN_WAIT_1、FIN_WAIT_2、および TIME_WAIT 状態で多数の TCP 接続を生成することを回避できます。

RST リセット パッケージを使用して接続を閉じると、いくつかの問題が発生し、デフォルトでは有効にならないことに注意してください。

5, lingering_close

構文:

lingering_close off | on | always;
ログイン後にコピー

デフォルト:

lingering_close on;
ログイン後にコピー

構成ブロック: http、サーバー、場所

この構成は、Nginx がユーザー接続を閉じる方法を制御します。 「常に」は、ユーザー接続を閉じる前に、接続上のすべてのユーザーによって送信されたデータを無条件に処理する必要があることを意味します。 off は、接続を閉じるときに、接続上にユーザーからの準備ができたデータがあるかどうかを気にしないことを意味します。通常の状況では、接続上でユーザーが送信したデータは、企業がそれ以降のデータが不要であると判断した場合を除き、接続を閉じる前に処理されます。

6, lingering_time

構文:

lingering_time time;
ログイン後にコピー

デフォルト:

lingering_time 30s;
ログイン後にコピー

構成ブロック: http、サーバー、場所

lingering_close が有効な場合、この構成アイテムは大きなファイルをアップロードするのに役立ちます。前述したように、ユーザーがリクエストした Content-Length が max_client_body_size 設定より大きい場合、Nginx サービスはユーザーに 413 (リクエスト エンティティが大きすぎます) 応答をすぐに送信します。ただし、多くのクライアントは 413 戻り値に関係なく HTTP 本文のアップロードを続行する可能性があり、このとき、lingering_time 設定が経過すると、ユーザーがまだアップロードしているかどうかに関係なく、Nginx は接続を閉じます。

7, lingering_timeout

構文:

lingering_timeout time;
ログイン後にコピー

デフォルト:

lingering_timeout 5s;
ログイン後にコピー

構成ブロック: http、サーバー、場所

lingering_close が有効になった後、接続を閉じる前に、ユーザーによって送信されたデータがサーバーに到達したかどうかが検出されます。lingering_timeout 後に読み取るデータがない場合、接続は直接閉じられます。それ以外の場合は、接続バッファ内のデータがフェッチされて破棄されるまで、接続は閉じられません。

8. 一部のブラウザのキープアライブ機能を無効にする

構文:

keepalive_disable [ msie6 | safari | none ]...
ログイン後にコピー

デフォルト:

keepalive_disable  msie6 safari
ログイン後にコピー

設定ブロック: http、server、location

HTTP リクエストのキープアライブ機能は、複数のリクエストに対して長い HTTP 接続を再利用することで、サーバーのパフォーマンスを向上させるのに非常に役立ちます。ただし、IE 6 や Safari などの一部のブラウザでは、キープアライブ機能を使用した POST リクエストの処理に機能上の問題があります。したがって、IE 6 およびその以前のバージョンでは、Safari ブラウザーのキープアライブ機能はデフォルトで無効になっています。

8, keepaliveタイムアウト時間

構文:

keepalive_timeout time(默认单位:秒);
ログイン後にコピー

デフォルト:

keepalive_timeout 75;
ログイン後にコピー

構成ブロック: http, サーバー、location

キープアライブ接続が一定時間 (デフォルトは 75 秒) アイドル状態になった後、サーバーとブラウザーの両方が接続を閉じます。もちろん、keepalive_timeout 設定項目は Nginx サーバーを制約するために使用され、仕様に従って Nginx もこの時間をブラウザーに渡しますが、ブラウザーごとにキープアライブの処理方法が異なる場合があります。

10. keepalive 長い接続で送信できるリクエストの最大数

構文:

keepalive_requests n;
ログイン後にコピー

デフォルト:

keepalive_requests 100;
ログイン後にコピー

配置块:http、server、location

一个keepalive连接上默认最多只能发送100个请求。

11、 tcp_nodelay

语法:

tcp_nodelay on | off;
ログイン後にコピー

默认:

tcp_nodelay on;
ログイン後にコピー

配置块:http、server、location

确定对keepalive连接是否使用TCP_NODELAY选项。

<span style="font-family:Microsoft Yahei, Hiragino Sans GB, Helvetica, Helvetica Neue, 微软雅黑, Tahoma, Arial, sans-serif">12、</span>tcp_nopush

语法:

tcp_nopush on | off;
ログイン後にコピー

默认:

tcp_nopush off;
ログイン後にコピー

配置块:http、server、location

在打开sendfile选项时,确定是否开启FreeBSD系统上的TCP_NOPUSH或Linux系统上的TCP_CORK功能。打开tcp_nopush后,将会在发送响应时把整个响应包头放到一个TCP包中发送。

以上がNginxのネットワーク接続設定項目とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!