目的: 負荷を軽減するために、ユーザーのリクエストをさまざまなサーバーに分散します。 nginx は、リスニング ポートからのリクエストを Web サイトが展開されているサーバーに均等に転送します。
1. Windows に nginx をインストールします
1. 公式 Web サイトから Windows バージョンの nginx をダウンロードします
最新バージョンは 1.13.2
2. ダウンロードして解凍した後
3. ポート 80 が私のコンピュータはすでに使用されているので、ポート 8080 でリッスンするように設定ファイルを変更します
4. 実行するメイン プログラムをダブルクリックすると、nginx が実行されていることがわかります。すでにプロセス内で実行されています。
#5. http://localhost:8080/ を開いてみてください。以下が表示されたら、nginx は正常にインストールされています。2. 2 つの同一のサイトを構築します
1. Web サイトにはホームページが 1 つだけありますpublic class homecontroller : controller { // get: home public actionresult index() { list<string> info = new list<string>(); info.add("服务器名称:" + server.machinename); info.add("客户端ip地址:" + (request.userhostaddress=="::1" ? "127.0.0.1":request.userhostaddress)); info.add("http端口:" + request.url.port); viewbag.info = info; return view(); } }2. nginx は仮想マシンにインストールされているため、現在は仮想マシンです。iis にサイトをデプロイします。ポートは 9000
#3 です。サイトをローカルにデプロイします。ポートは 9001
## です。
#3. nginx 設定ファイルを変更します
1. http ノード配下にアップストリーム (サーバークラスター) を追加しますサーバー設定はクラスターサーバーの情報です。ここでは 2 つ構築しました。サイトは 2 つの情報で構成されています。
2. http ノードの下の location ノードを見つけて変更します
location / {root html;
index home/index Index.html Index.htm; #ホームページを home/index に変更します#ここで、jq_one は上流で設定されたクラスター名に対応します
proxy_pass http://jq_one;
#ホスト ヘッダーと実際のヘッダーを設定しますサーバーが取得できるようにするクライアントのアドレス Client real ip
proxy_set_header host $host;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
}
変更された設定ファイル:
3. nginx を再起動します
コマンド nginx -s を入力します。リロードして Enter キーを押します
完全な再起動
4. 検証
リスニング 8080 ポートにアクセスしてみます。
#5. nginx をサービスに変換し、起動後に開始します
##1. 小さなツール winsw を使用します
簡単な構成と .net 環境の 2 つのファイルをダウンロードします。自分の環境に応じて、ここでは .net4 をダウンロードします。そして、それを任意のディレクトリに配置します。ここに nginx と一緒に配置し、2 つのファイルを同じ名前に変更します。
2. 設定ファイルを変更します
3. サービスをインストールします
コマンド myapp.exe install を入力してサービスをインストールします
この時点では、nginx はすでにサービス内にあるので、サービスを開始するだけです
以上がiis+nginx が負荷分散を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。