http { limit_conn_zone $binary_remote_addr zone=addr:10m; //$binary_remote_addr 表示通过remote_addr这个标识来做限制 //zone=addr:10m 表示生成一个大小为10M,名字为addr的内存区域 ... server { location /download/ { limit_conn addr 1; #限制并发数 limit_rate 50k; #限制带宽 } }
#同時接続数の制限
#$binary_remote_addr:remote_addr 識別子による制限を示します。「binary_」の目的は、メモリ使用量を省略し、同じクライアント IP アドレスを制限することです。
zone=addr:10m: 世代を示しますサイズが 10M のファイルの、アクセス頻度情報を格納するために使用される addr という名前のメモリ領域#http ステータス コード
400-499クライアントエラーを示すために使用されます。 500-599はサーバーエラーのサポートに使用されます。
同じクライアントのアクセス頻度を制限するrate=1r/s:同じ ID が許可されます クライアントのアクセス頻度は 1 秒あたり 1 回に制限されます。つまり、1 秒あたり 1 つのリクエストのみが処理されます。30r/m の場合もあり、これは 2 秒ごとに 1 回のアクセス、つまり 1 回のみに制限されますリクエストは 2 秒ごとに処理されます。
バースト
burst=5: バーストバーストの意味 この設定はバッファサイズを5に設定することを意味します大量のリクエスト(バースト)が来た場合、アクセス頻度制限を超えるリクエストを処理できるようになります最初にこのバッファに入れて待機しますが、この待機領域には 5 つの位置しかなく、制限を超えるリクエストは直接 503 エラーを報告して戻ります。 ###########################################遅延なし#### ##設定すると、(バースト レート) リクエストを即座に処理する機能が提供され、リクエストが (バースト レート) を超えると、直接 503 が返され、リクエストが待機する必要がある状況は発生しません。 (ここでのレートの単位は r/s です)。設定されていない場合、すべてのリクエストは順番にキューに入れられます。
#limit_rate 制限帯域幅
##################################
~
~* は通常の一致を実行することを意味します (大文字と小文字は区別されます)location 式優先順位~* は通常の一致を実行します (大文字と小文字は区別されません) #^~* は通常の文字と一致することを意味します。前方一致が優先されます。一致が成功すると、他の場所は一致しません。
= は、一般的な文字の完全な一致を実行します。それは完全に一致します。
@ "@" は、名前付きの場所を定義します。error_page、try_files など、内部的に指示される場合に使用されます。
/: ユニバーサル マッチング。他に一致するものがない場合は、すべてのリクエストが一致します。
location = > location フルパス> location ^~ path> location ~ ,~* 正規シーケンス> location 部分的な開始パス (接頭辞一致) > /
ログポーリング
##セキュリティ上の理由から、ログ ディレクトリに nginx ユーザー アクセス権を与える必要はありません。Set # chmod -R 700 /usr/local/nginx/logs
必要なディレクトリ ログを禁止します。##サイトのディレクトリとファイルの制限
中国語の文字化け
文字セット utf-8 を設定します;
以上がnginx の電流制限と構成管理方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。