Nginxはまず、設定ファイル内のどのserver{}ブロックを処理に使用するかを決定します。次のserver{}設定を想定します。 サーバー{ 聞く 80; サーバー名 aaa; ... } サーバー{ 聞く 80; サーバー名 bbb; ... } Nginx は、受信した http リクエスト ヘッダーの Host フィールドの値に基づいて、使用するサーバーを決定します。 リクエスト ヘッダーに Host フィールドがない場合、または Host フィールドの値が Nginx 構成ファイルの server{} の {server_name} と一致しない場合は、最初の server{} を使用してリクエストが処理されます。 リクエスト ヘッダーの Host フィールドの値が、Nginx 構成ファイル内の server{} の {server_name} と一致する場合、この server{} を使用してリクエストが処理されます。 curl ツールを使用すると簡単に実験を行うことができます。curl は http リクエストのリクエスト ヘッダーを設定できるため、[-H] を使用して Host フィールドを任意に設定できます。以下の 10.210.65.73 は、nginx がインストールされているマシンの IP アドレスです。 したがって、次のコマンドを使用すると、http リクエストを送信した後、nginx は server{server_name aaa} を使用してリクエストを処理します。 curl.exe -H "ホスト: aaa" 10.210.65.73 非常に重要な結論: server_name は、http リクエスト ヘッダーの Host フィールドの値に対応します。上記の理論的なサポートにより、リバース プロキシと負荷分散を簡単に設定できます。 受信 HTTP リクエスト ヘッダーの Host フィールドが aaa の場合、storage.test がそれを処理します。 受信 HTTP リクエスト ヘッダーの Host フィールドが bbb の場合、tracker.test がそれを処理します。 #負荷分散構成、IP 129 のマシンは高い構成になっているため、より多くの上流ストレージを処理できるように 27 という番号が割り当てられます。test { サーバー 10.210.65.129:80 重み=27; サーバー 10.210.65.130:80 重み=1; } #負荷分散構成アップストリームtracker.test { サーバー 10.210.65.52:80 重み=7; サーバー 10.210.65.53:80 重み=2; } #ファイルストレージサーバー{ 聞く 80; サーバー名 aaa; 位置 / { #http::// の後のコンテンツは自己定義であり、上記のアップストリーム名 proxy_pass http://storage.test に対応します。 } } #ファイルサーバートラッカー サーバー{ 聞く 80; サーバー名 bbb; 位置 / { #http::// の後の内容は自己定義であり、アップストリーム名 proxy_pass http://tracker.test に対応します。 } } listen in server{} はどのポートを listen していますか? リッスンされているのは、nginx サーバー自体のプロセスのポートではなく、http リクエストを送信するプロセス (主にブラウザー) のポートです (http リクエストの場合、ポートは 80 です)。 Nginx は、http リクエスト ヘッダーの Host フィールドの値と、http リクエストを送信するプロセス (主にブラウザー) のポートに基づいて、http リクエストの処理に使用するサーバーを決定します。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: JavaScript で判決文をエレガントに記述する例
>>: Mysql SQL ステートメント演習 (50 問)
この記事では、Linux 環境での ActiveMQ の展開方法について説明します。ご参考までに、詳...
1. まずSELECT文を実行して、すべての切り捨て文を生成します。ステートメント形式: selec...
ソースコード(一部のクラスは削除されています):コードをコピーコードは次のとおりです。 <テー...
1. pc-reset PCスタイルの初期化 /* 正規化.css */ html{ 行の高さ: 1...
Less is More は多くのデザイナーのキャッチフレーズです。これは建築界の巨匠ルートヴィヒ...
目次1. 環境2. 準備3. MySQL 8.0.11をインストールするMySQL 8 の公式バージ...
MySQL UTF-8 エンコーディングMySQL は 2003 年のバージョン 4.1 から U...
目次1. LVS 負荷分散2. 負荷分散LVSの基本紹介3. LVSアーキテクチャ3.1 ロードバラ...
誰についてシステムにログインしているユーザーを表示します。 who コマンドを実行すると、現在システ...
この記事では、カルーセルアニメーションを実現するためのVueコンポーネントの具体的なコードを例として...
最近、次のような効果を実装しました。再生ボタンをクリックするとタイムラインの再生が開始され、一時停止...
一般的に、テーブルを使用する場合は、常に <table border="1"...
これが何を意味するのかを理解するには、まずサブディレクトリとは何かを知る必要があります。では、サブデ...
MySQLのインストール(4、5、6は省略可能)ステートメント: CentOS のバージョンは 7....
このチュートリアルは Windows システムにのみ適用されます。インストールしたがまだインストール...