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

推薦する

MySQL5.7.27-winx64 バージョン win10 のダウンロードとインストールのチュートリアル図

MySQL 5.7 のインストール私たちは学校で MySQL データベースを学んでいます。先生は私た...

MySQL 関数インデックス最適化ソリューション

MySQL を使用する場合、多くの開発者は一部の列に対して関数計算を実行することが多く、その結果、イ...

JavaScriptは4桁のランダム検証コードの生成を実装します

この記事の例では、JavaScriptで4桁のランダムな検証コードを生成する具体的なコードを参考まで...

表内のコンテンツオーバーフローのレイアウト方法について

コンテンツオーバーフローとは何ですか?実際、テキストが大量にある場合、コンテンツ領域がそれだけの長さ...

HTML iframe と frameset の違い_PowerNode Java Academy

導入1.<iframe> タグ: iframe は、ページ内に内部フレームを生成するイン...

mysql 複数テーブル接続削除関数の削除

単一のテーブルを削除する: tableName から columnName = value を削除し...

MySQL複合インデックスの概要

目次1. 背景2. 複合インデックスを理解する3. 左端一致原則4. フィールド順序の影響5. 単一...

CSSは左固定と右適応のレイアウト方法を実現します

1. フローティングレイアウト1. 最初に固定幅の div をフロートさせます。ドキュメントフローか...

Nginx リクエスト制限の設定方法

Nginx は、多くの優れた機能を備えた強力で高性能な Web およびリバース プロキシ サーバーで...

Vueフィルターとカスタム命令の使用

目次フィルター01.とは02. やり方(1)フィルターを定義する(2)使用方法(3)フィルタパラメー...

MySQL 文字セットの文字化けとその解決方法

序文文字セットは、一連のシンボルとエンコード規則です。Oracle データベースでも MySQL デ...

Vue プロジェクトをパッケージ化して Apache サーバーにデプロイする手順

開発環境では、vue プロジェクトは、ローカルで Express サーバーを構築することをベースにし...

シンプルな計算機を実装するためのネイティブ js

この記事の例では、参考までに簡単な計算機を実装するためのjsの具体的なコードを共有しています。具体的...

MySQLのユーザー権限の確認と管理方法の詳細な説明

この記事では、例を使用して、MySQL ユーザー権限を確認および管理する方法を説明します。ご参考まで...

Linux で pip 操作中にタイムアウトが発生する問題を解決する方法

Linuxインスタンスでpipを使用する際のタイムアウト問題を解決する方法pip は最も人気のある ...