負荷分散とは何ですか? ドメイン名が複数の Web サーバーを指している場合は、nginx ロード バランシング サーバーを追加します。nginx ロード バランシングにより、クライアントからのリクエストを各 Web サーバーにバランスよく送信できるため、1 台のサーバーが過負荷になり、他のサーバーが比較的アイドル状態になるという不均衡を回避できます。 nginx の負荷分散を設定します。 nginx マシンに新しい設定ファイルを作成します。 [root@centos02 ~]# vi /etc/nginx/conf.d/test.conf 次のコンテンツを追加します。 上流テスト { ip_ハッシュ; サーバー 192.168.0.10:80 重み=100; サーバー 192.168.0.20:80 重み=50; } サーバ { 聞く 80; サーバー名 www.test.com; 位置 / { proxy_pass http://test; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
nginx の設定を確認し、リロードします。 [root@centos02 ~]# nginx -t nginx: 設定ファイル /etc/nginx/nginx.conf の構文は正常です nginx: 設定ファイル /etc/nginx/nginx.conf のテストが成功しました [root@centos02 ~]# nginx -s リロード 次に、クライアントのホスト ファイルを変更して、テスト ドメイン名 www.test.com をテスト対象の nginx ロード バランシング マシンの IP にポイントし、www.test.com Web サイトにアクセスします。 負荷分散構成例補足 1. 要求されたファイル構成に応じて: 上流 aa { サーバー 192.168.0.10; サーバー 192.168.0.20; } アップストリーム bb { サーバー 192.168.0.100; サーバー 192.168.0.101; } サーバー{ 聞く 80; サーバー名 www.test.com; 場所 ~ aa.php { プロキシパス http://aa/; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 場所 ~ bb.php { proxy_pass http://bb/; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 位置 / { proxy_pass http://bb/; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } aa.php へのリクエストはグループ aa に送信され、bb.php へのリクエストはグループ bb に送信され、その他のすべてのリクエストはグループ bb に送信され、location / {} を指定する必要があります。指定しないと、URL が正しく一致しません。 2. 要求されたディレクトリに応じて設定します。 上流 aa { サーバー 192.168.0.10; サーバー 192.168.0.20; } アップストリーム bb { サーバー 192.168.0.100; サーバー 192.168.0.101; } サーバー{ 聞く 80; サーバー名 www.test.com; 場所 /dir1/ { proxy_pass http://aa/dir1/; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 場所 /dir2/ { proxy_pass http://bb/dir2/; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 位置 / { proxy_pass http://bb/; proxy_set_header ホスト $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } #リクエストURIが/dir1/に一致する場合はaa/dir1/にプロキシし、/dir2/などに一致する場合はbb/dir2/にプロキシします Nginx は、https プロトコル経由で Web サイトにアクセスするために SSL 証明書を構成します。 SSL証明書申請サイト: 1. https://www.wosign.com/ #ブラウザで生成した後、サーバー上に証明書ファイルを作成する必要があります 証明書ファイルを作成します。 [root@linux ~]# mkdir /etc/nginx/ssl [root@linux ~]# cd !$ /etc/nginx/ssl をコピーします [root@linux ssl]# タッチCA [root@linux ssl]# test.crt をタッチします [root@linux ssl]# test.key をタッチします #証明書申請ウェブサイトから提供された対応する証明書の内容をca/.crt/.keyファイルに追加します nginx 設定ファイルを編集します。 [root@linux ~]# vi /etc/nginx/conf.d/bbs.conf 次のコンテンツを追加します。 443 ssl を聴く; サーバー名 test.bbs.com; sslオン; ssl_certificate /etc/nginx/ssl/test.crt; #define .crt ファイル パス ssl_certificate_key /etc/nginx/ssl/test.key; #define .key ファイル パス ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 設定を確認し、nginx をリロードします。 [root@linux ~]# nginx -t nginx: 設定ファイル /etc/nginx/nginx.conf の構文は正常です nginx: 設定ファイル /etc/nginx/nginx.conf のテストが成功しました [root@linux ~]# nginx -s リロード #次に、ウェブサイトのアドレスバーにアクセスしてHTTPSを表示します カール検証方法: curl -k -H "ホスト:test.bbs.com" https://192.168.234.128/index.php #host:ドメイン名、https://ウェブサーバーのIP、出力結果はウェブサイトのページタグ情報であり、成功を意味します 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQLデータベースのストアドプロシージャとトランザクションの違い
序文プロジェクト要件: Dockeridea に Docker プラグインをインストールし、Dock...
まずサンプルコードを見てみましょう: 1. 共通パラメータ tcpdump -i eth0 -nn ...
序文実際の開発では、ビジネス要件が変更されることが多いため、ストアド プロシージャの特性を変更するこ...
例:場所のルートとエイリアスルートディレクティブは、ルートによって設定されたディレクトリに検索ルート...
この記事の例では、JavaScriptで等速アニメーションを実装するための具体的なコードを参考までに...
今日、Alibaba Cloudからディスク警告通知を受け取りました。確認したところ、100Gのスペ...
nginx.conf設定ファイルは次のとおりです。 ユーザー nginx; ワーカープロセス 1; ...
Oracle と MySQL の高可用性ソリューションについては、以前からまとめたいと思っていたので...
目次序文1. MySQL マスタースレーブレプリケーション1. サポートされているレプリケーションの...
問題の説明 (環境: windows7、MySql8.0)今日、MySql をインストールした後、M...
コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...
この記事では、シャトルボックス機能を実現するためのjQueryの具体的なコードを参考までに紹介します...
以前、会社で小さな機能に取り組んでいたとき、特定の状況でデータがいくつあるかを数えてから問題を修正し...
背景先週、会社で MySQL レプリケーションのトレーニングを受けたので、今週末は学んだことを実践す...
目次MySQL の current_timestamp の落とし穴エラーを報告する私の解決策mysq...