目的 リクエスト アクセス ボリュームを制御するための Nginx ngx_http_limit_conn_module および ngx_http_limit_req_module モジュールを理解します。 Nginx のモジュール性 nginx の内部構造は、コア モジュールと一連の機能モジュールで構成されています。モジュール型アーキテクチャにより、各モジュールの機能が比較的シンプルになり、高い凝集性が実現され、Nginx の機能拡張も容易になります。 Web リクエストの場合、Nginx の有効なすべてのモジュールが、ゲームのレベルと同様にチェーンを形成します。各モジュールは、圧縮用の ngx_http_gzip_module モジュール、認証用の ngx_http_auth_basic_module モジュール、プロキシ用の ngx_http_proxy_module モジュールなど、特定の機能を担当します。サーバーへの接続要求は、各 Nginx モジュールによって順番に処理されます。これらのモジュールによって処理された後にのみ、要求は実際にバックグラウンド プログラム コードに渡され、処理されます。 Nginx 同時アクセス制御 Web サーバーの場合、Web クローラーや悪意のある大容量トラフィック攻撃に遭遇すると、サーバーのメモリと CPU がいっぱいになり、帯域幅もいっぱいになります。そのため、成熟したサーバー プロキシ ソフトウェアとしては、これらの状況を制御できることが必要です。 Nginx で同時実行を制御する方法は 2 つあります。1 つは IP またはその他のパラメータを使用して同時実行を制御する方法、もう 1 つは単位時間あたりに処理されるリクエストの合計数を制御する方法です。つまり、同時実行性と並列処理の制御です。これら 2 つの機能は、それぞれ ngx_http_limit_conn_module モジュールと ngx_http_limit_req_module モジュールによって実装されます。 ngx_http_limit_conn_module モジュール 例示する このモジュールは主に同時リクエストの数を制御するために使用されます。 パラメータ設定 制限接続ゾーン
制限接続ログレベル
制限接続
制限接続ステータス
制限レート
制限レート後
簡単な設定例 limit_conn_zone $binary_remote_addr ゾーン=addr:10m; サーバー{ 聞く 80; サーバー名 www.domain.com; ルート /path/; インデックス index.html index.htm; 場所 /ip { limit_conn_status 503; # 制限を超えた後に返されるステータス コード。 limit_conn_log_level warn; # ログレベル limit_rate 50; # 帯域幅制限 limit_conn addr 1; # 同時アクセスの制御} # 同時アクセス制限を超えると、503 エラー ページ error_page 503 /503.html が返されます。 } ngx_http_limit_req_module モジュール 例示する このモジュールは主に単位時間あたりのリクエスト数を制御します。フィルタリングには「リーキー バケット」アルゴリズムを使用します。制限レートを設定した後、単位時間あたりのリクエスト数がレートを超えると、モジュールはバースト値を検出します。値が 0 の場合、リクエストはエラーを返すか、delay|nodelay 構成に従って待機します。バーストが 0 より大きい場合、リクエスト数がレートより大きくバーストより小さい場合、リクエストは処理待ちキューに入ります。 パラメータ設定 制限要件ゾーン
制限要件
limit_req_log_level および limit_req_status 構成パラメータは、ngx_http_limit_conn_module モジュールと一致しています。 簡単な設定例 limit_req_zone $binary_remote_addr ゾーン=req:10m レート=2r/m; サーバー{ 聞く 80; サーバー名 www.domain.com; ルート /path/; インデックス index.html index.htm; 場所 / 制限 { limit_req ゾーン=req バースト=3 ノードレイ; } # 同時アクセス制限を超えると、503 エラー ページ error_page 503 /503.html が返されます。 } 知らせ どちらのアクセス制御もメモリ空間の確保が必要です。メモリ空間がある以上、当然メモリが不足する状況が発生します。このとき、新しいリクエストはエラーで返されます。そのため、アクセス制限を有効にする場合は、このような状況が発生しないように監視する必要があります。 まとめ Nginx のモジュール アーキテクチャを簡単に紹介し、ngx_http_limit_conn_module モジュールと ngx_http_limit_req_module モジュールの機能と構成パラメータを理解することに重点を置き、Nginx のリクエストの同時実行制御を実装します。何か問題があればお知らせください 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vue+element+oss はフロントエンドのフラグメントアップロードとブレークポイント再開を実現します
>>: Centos6にMysql5.7をインストールする方法
目次序文1. オフィス文書の種類のプレビュー2. PDF形式のプレビュー3. 画像の種類4. ビデオ...
目次序文導入JavaScript 履歴 API独自のネイティブJSルーティングを実装するHistor...
サーバーの配置数日間無料で使用できるクラウドサーバー(Alibaba Cloud、Huawei Cl...
成果を達成する実装コードhtml <div>123WORDPRESS.COM</d...
1. はじめに場合によっては、Web プラットフォームがオンラインになった後、サービス インターフェ...
DOCTYPE が次のとおりである場合:コードをコピーコードは次のとおりです。 <!DOCTY...
目次序文vue.config.js 構成オプションパッケージサイズを縮小するためのパッケージの最適化...
1. 公式ウェブサイトから Linux バージョンをダウンロードします: https://dev.m...
<div align="center"> <table sty...
序文最近、レポート機能に取り組んでいたのですが、ある月に各部署に入社した人と退職した人の数をカウント...
例えば:コードをコピーコードは次のとおりです。 <html> <ヘッド> &...
目次Linux での Hbase のインストールと設定1. Hbaseインストールパッケージをダウン...
この記事では、Dockerを使用してMySQLデータベースとリモートアクセス構成をデプロイする方法を...
実際の業務では、Excel からデータベースにデータをインポートする必要がある場合があります。データ...