複数のサーバーに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レイヤーのカバーの問題を選択する

推薦する

MySQL は、現在のデータ テーブル内のすべての時間に対して指定された時間間隔を増加または減少させます (推奨)

DATE_ADD() 関数は、指定された時間間隔を日付に追加します。現在のテーブル内のすべてのデー...

MySQL (5.6 以下) の JSON 解析の詳細な例

MySQL(5.6以下)はjsonを解析します #json 解析関数 DELIMITER $$ `j...

MySQL 5.7.17 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 5.7.17のインストールと設定方法を参考までに紹介します。具体的な内容は...

両側にCSS固定レイアウト、中央に適応レイアウトを実装

フローティング、フローティング埋め込み div、配置、フレックスという 4 つの一般的な方法と原則を...

mysql 5.7.18 winx64 無料インストール設定方法

1. ダウンロード2. 減圧3. パス環境変数を追加し、mysqlが配置されているbinディレクトリ...

Docker インストール tomcat dubbo-admin インスタンス スキル

1. tomcatイメージをダウンロードする docker pull tomcat:8.5.29 2...

portainer を使用してリモート docker に接続するチュートリアル

Portainer は、Docker ホストと Docker Swarm クラスターの管理に使用でき...

MySQL SHOW PROCESSLISTはトラブルシューティングの全プロセスを支援します

1. SHOW PROCESSLISTコマンドSHOW PROCESSLIST は実行中のスレッド ...

WeChatミニプログラムページで値を返す4つの解決策のまとめ

目次使用シナリオ解決1. globalDataを使用して実装する2. ローカルキャッシュストレージを...

MySQL 8.0 redo ログの詳細な分析

目次序文REDOログの生成REDOログ送信REDOログの保存と通知ユーザースレッドに通知要約する序文...

HTML テーブルのオーバーフローの解決方法

テーブルが広い場合は、あふれてしまう可能性があります。たとえば、左と右の 2 つの div がありま...

MySQL トリガーの紹介、トリガーの作成、使用制限の分析

この記事では、例を使用して、MySQL トリガーの概要、トリガーの作成方法、およびトリガーの使用上の...

この記事ではSQL CASE WHENの使い方を詳しく説明します

目次シンプルな CASEWHEN 関数:これは、CASEWHEN 条件式関数を使用するのと同じです。...

Vue.jsはカレンダー機能を実装します

この記事では、カレンダー機能を実装するためのVue.jsの具体的なコードを例として紹介します。具体的...

Vueはログイン認証コードを実装する

この記事では、ログイン認証コードを実装するためのvueの具体的なコードを例として紹介します。具体的な...