複数のサーバーにNginxリバースプロキシを実装する方法

複数のサーバーにNginxリバースプロキシを実装する方法

Nginx は複数のサーバーをリバース プロキシします。つまり、nginx に異なるリクエストを送信すると、nginx はリクエストに応じて異なるサーバーにリクエストを転送します。下の図に示すように、ポート 8000 経由でリソース a にアクセスすると、nginx はリクエストをサーバー 8080 に転送し、リソース b にアクセスすると、サーバー 8081 に転送します。

まず、準備をしましょう。まず、ポート 8080 とポート 8081 の 2 つの Tomcat サーバーを準備します。ポート 8080 がデフォルトです。ここでは、ポート 8081 を変更します。まず、tomcat の下の conf ディレクトリに移動し、server.xml ファイルを入力して、次の 2 つの変更を行います。

1. シャットダウンポート番号を8015に変更します

2. 開始ポート番号を8081に変更します

これで 2 つの Tomcat ができました。次に、2 つの Tomcat を起動して、アクセスできるかどうかを確認します。アクセスできない場合は、ファイアウォールに問題がある可能性があります。systemctl stop firewalld でファイアウォールをシャットダウンできます。それでもアクセスできない場合は、Alibaba Cloud がポートを開いていない可能性があります。

Tomcat に正常にアクセスできる場合、リソース a をサーバー 8080 に、リソース b をサーバー 8081 にデプロイします。具体的なデプロイは、tomcat の下の webapps ディレクトリにそれぞれディレクトリ a と b を作成し、index.html を作成して、そこにそれぞれ 8080 と 8081 を書き込みます。これは、後でテストするときに便利です。リソース a は次のとおりです。

さて、次のステップはnginxの設定です。nginxのconfディレクトリに移動し、nginx.confファイルを開いて、手動でサーバーブロックを設定します。

サーバーとは、次のことを意味します。

  • listen 8000: 直接アクセスする nginx ポートであるポート 8000 を listen します。
  • server_name localhost: ドメイン名です
  • 場所 ~ /a/: リソース a へのアクセス要求はすべて次のプロキシ経由で転送されます
  • http://39.106.231.3:8080; は、プロキシが IP アドレス 39.106.231.3 のホストの 8080 サーバーに転送することを意味します。

設定後、sbin ディレクトリで ./nginx -s reload を実行して設定ファイルを再読み込みします。

アクセス: 39.106.231.3:8000/a

アクセス: 39.106.231.3:8000/b

複数のサーバーに Nginx リバース プロキシを実装する方法に関するこの記事はこれで終わりです。Nginx リバース プロキシ サーバーの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • nginx のロードバランシングとリバースプロキシの説明
  • Nginx リバース プロキシを使い始める
  • プレフィックスケースを削除する Nginx リバース プロキシ構成のチュートリアル
  • Nginx リバース プロキシ構成の完全なプロセス記録
  • Jira リバース プロキシを実装するための nginx について

<<:  CSS で「プラス記号」効果を実装するためのサンプルコード

>>:  ウェブページのドロップダウンリストとdivレイヤーのカバーの問題を選択する

推薦する

SQLはLeetCodeを実装します(180.連続した数字)

[LeetCode] 180. 連続した数字少なくとも 3 回連続して出現するすべての数字を検索す...

ElementUIテーブルのヘッダーアイコンにフローティングプロンプトを追加します。

この記事では主に、ElementUI テーブルのヘッダー アイコンにフローティング プロンプトを追加...

HTML の基本 - CSS スタイルシート、スタイル属性、フォーマット、レイアウトの詳細

1.位置:固定一部の Web サイトの右下隅にあるポップアップ ウィンドウなどの、ブラウザーを基準と...

CSS3はキングをマッチングさせるときにパーティクルアニメーション効果を実現します

コーディングをしていると、多くのことが同じ結末を迎えることに気づくでしょう。問題を解決する方法は何千...

PostgreSQL マテリアライズドビュープロセス分析

この記事は主にPostgreSQLマテリアライズドビューのプロセス分析について紹介します。サンプルコ...

イントラネット侵入を実現するためのSSHポート転送

LAN 内のマシンは外部ネットワークにアクセスできますが、外部ネットワークは内部ネットワークにアクセ...

Nginx サーバーで URL リンクを設定する方法

LNMPのようなアーキテクチャを持つウェブサイトは、一般的にPHPフレームワークに基づいて開発されて...

Vue はモバイル端末にマルチグリッド入力ボックスを実装

最近、同社は、下図に示すように、h5 ページ操作を完了するという要件を提示しました。 ネットで入手で...

ReactにおけるuseRefの具体的な使い方

React の経験がある人なら、コンポーネントインスタンスオブジェクトや DOM オブジェクトを取得...

1 つ以上のフィールドに基づいて重複データを検索する MySQL SQL ステートメント

SQLはテーブル内の重複レコードをすべて見つけます1. テーブルには id と name の 2 つ...

docker を使用して Windows 10 Home バージョンで Laravel 開発環境を構築する方法の詳細なチュートリアル

オペレーティング·システム: Win10 ホームエディションDockerをインストールします:公式サ...

Linux ベースの MySQL マスター スレーブ構成の全プロセスを記録する

mysql マスタースレーブ構成1. 準備ホスト: 192.168.244.128スレーブ: 192...

Dockerは公式Redisイメージをインストールし、パスワード認証を有効にします

参考: Docker 公式 Redis ドキュメント1. 特別なバージョン要件がある場合は、redi...

Javascript の基礎: 演算子とフロー制御の詳細な説明

目次1. オペレーター1.1 算術演算子1.2 インクリメント演算子とデクリメント演算子1.3 比較...