負荷分散とは何ですか? ドメイン名が複数の 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データベースのストアドプロシージャとトランザクションの違い
なぜ?最も簡単に言えば、ピクセルは均等ではないということです。携帯電話に表示される写真はとても繊細に...
今回は、実行中のコンテナをイメージにパッケージ化して Alibaba Cloud にアップロードし、...
Bashで配列を定義するbash スクリプトで新しい配列を作成する方法は 2 つあります。 1 つ目...
目次基本的な概要GTIDをオンラインで有効にする1. GTID検証ENFORCE_GTID_CONS...
この記事の例では、Vueスライダー検証の実装を共有しています。コードは次のとおりです。 <テン...
効果確認アドレス:ツアープラン(uplanok.com) コード: img{幅: 100%;境界線の...
目次1. スロットを使用してコンポーネントを理解しやすくし、より強力にする2. Vuexストアを正し...
現在のページへのリンク。 -------------------一般的な使用法は次のとおりです。 &...
この記事では、例を使用して、MySQL ストアド プロシージャで複数の値を返す方法について説明します...
最近の事例をお話ししましょう。オンライン Alibaba Cloud RDS 上のゲーム ログ ライ...
MySQLのスイッチングデータ保存ディレクトリの実装方法今日、仕事中に、mysql が保存されている...
MySQL パスワードを忘れた場合の解決策: [root@localhost ~]# mysql -...
導入dockerコンテナとdocker-composeに基づいて、Linux環境でのdockerの基...
stat 関数と stat コマンドLinux ファイル内の [inode = インデックス ノード...
この記事では、オンラインリアルタイム多人数チャットルームを実現するためのNode.js+expres...