ホームページ  >  記事  >  バックエンド開発  >  Web サービスへの同時接続数を制限するように Nginx プロキシ サーバーを構成するにはどうすればよいですか?

Web サービスへの同時接続数を制限するように Nginx プロキシ サーバーを構成するにはどうすればよいですか?

王林
王林オリジナル
2023-09-05 09:44:011689ブラウズ

Web サービスへの同時接続数を制限するように Nginx プロキシ サーバーを構成するにはどうすればよいですか?

Web サービスへの同時接続数を制限するように Nginx プロキシ サーバーを構成するにはどうすればよいですか?

はじめに:
Web アプリケーションの開発では、ユーザー エクスペリエンスとサービスの安定性を確保するために、Web サービスの同時接続数を制限することが重要です。高性能 Web サーバーおよびリバース プロキシ サーバーとして、Nginx は同時接続数を簡単に制限できる豊富な構成オプションを提供します。この記事では、Web サービスの同時接続数を制限するように Nginx プロキシ サーバーを構成する方法を紹介し、対応するコード例を示します。

1. Nginx のインストール:

まず、Nginx をインストールする必要があります。以下は、Ubuntu に Nginx をインストールするサンプル コマンドです:

$ sudo apt update
$ sudo apt install nginx

2. Nginx プロキシ サーバーを構成します:

  1. Nginx 構成ファイルを開きます:

    $ sudo nano /etc/nginx/nginx.conf
  2. http ブロックに次の設定を追加します。

    http {
     ...
     
     # 限制并发连接数为100
     limit_conn_zone $binary_remote_addr zone=concurrent:10m;
     
     server {
         ...
         
         # 限制并发连接数为10
         limit_conn concurrent 10;
     
         ...
     }
    }

上記の設定例では、Nginx の limit_conn モジュールを使用して同時接続数を制限しました。このうち、limit_conn_zone は、同時接続数に関するステータス情報を保存する共有メモリ領域を定義するために使用され、サイズを 10m に設定します。limit_conn は、それぞれの同時接続数を制限するために使用されます。サーバーブロック 接続数は10です。実際のニーズに応じて調整できます。

3. Nginx サービスを再起動します:

構成が完了したら、構成を有効にするために Nginx サービスを再起動する必要があります:

$ sudo systemctl restart nginx

4. 構成を確認します。 :

ab コマンドを使用して、構成が有効かどうかを確認できます。以下は、ストレス テストに ab コマンドを使用する例です。

$ ab -c 100 -n 1000 http://localhost/

上の例では、-c パラメーターを使用して同時リクエストの数を 100 に設定し、-c パラメーターを使用してリクエストの総数を 1000 に設定します。 -n パラメーター、アクセスされる URL は http://localhost/ です。構成が有効になると、次のような出力が表示されます。

Concurrency Level:      100
Time taken for tests:   10.000 seconds
Complete requests:      1000
Failed requests:        0
Total transferred:      158000 bytes
...

結論:
Nginx プロキシ サーバーを構成することで、Web サービスへの同時接続数を簡単に制限できます。上記の設定例は、この機能を迅速に実装するのに役立ちます。もちろん、特定の使用シナリオやニーズに基づいて、調整や修正を行う必要がある場合があります。この記事がお役に立てば幸いです!

参考リンク:

  • Nginx 公式ドキュメント: https://nginx.org/en/docs/
  • Nginx の limit_conn モジュール: https://nginx 。 org/en/docs/http/ngx_http_limit_conn_module.html

以上がWeb サービスへの同時接続数を制限するように Nginx プロキシ サーバーを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。