tomcat+nginx を使用してマルチアプリケーション デプロイメントを実装するためのサンプル コード

tomcat+nginx を使用してマルチアプリケーション デプロイメントを実装するためのサンプル コード

マルチアプリケーションの展開

1-Tomcat 構成

1.1- プロジェクト構成

まず、 tomcatディレクトリに移動し、2 番目のアプリケーションを展開するためのwebappsフォルダーをコピーします。

cp ウェブアプリ ウェブアプリ1 

ここに画像の説明を挿入

この時点で、通常のプロジェクトをデプロイするのと同じ方法で 2 番目のプロジェクトをデプロイし、データ パッケージをwebapps1ファイルにアップロードできます。

1.2-サービス構成

tomcatサービス構成ファイルに移動し、 server.xml構成ファイルを開いて、2 番目のアプリケーション デプロイメントに関連する構成情報を入力します。

cd confvim server.xml

ここに画像の説明を挿入

ファイルの最後に、サービス解決構成を追加します。

<!-- 2 番目のプロジェクト構成 -->
<サービス名="Catalina1">
    
  <!-- 競合を避けるには、ポートを変更してください -->
  <コネクタ ポート="81" プロトコル="HTTP/1.1"
             接続タイムアウト = "20000"
             リダイレクトポート="8443" />

  <!-- Tomcat はデフォルトでポート 8009 を使用します。競合を避けるには、ポート 8009 を変更します -->
  <コネクタ ポート="8010" プロトコル="AJP/1.3" リダイレクト ポート="8443"/>
	
  <!-- エンジン ノード、名前が Catalina1 に変更されました -->
  <!-- サービスが開始されると、対応するエンジン フォルダーが conf の下に生成され、名前は同じままになります。 -->
  <エンジン名="Catalina1" defaultHost="localhost">
    <レルムクラス名="org.apache.catalina.realm.LockOutRealm">
      <レルムクラス名="org.apache.catalina.realm.UserDatabaseRealm"
             リソース名="ユーザーデータベース"/>
    </レルム>

    <!-- ホスト ノードを変更し、appBase を公開するファイルの場所 (最初の手順でコピーした webapps1) に変更します -->
    <ホスト名="localhost" appBase="webapps1"
          unpackWARs="true" autoDeploy="true">

      <Valve クラス名="org.apache.catalina.valves.AccessLogValve" ディレクトリ="logs"
             プレフィックス="localhost_access_log" サフィックス=".txt"
             パターン="%h %l %u %t &quot;%r&quot; %s %b" />

    </ホスト>
  </エンジン>
</サービス>

2-Nginx の設定

まず、 Nginxサービス ディレクトリの下のconf構成ファイルに移動し、 nginx.conf構成ファイルを見つけて編集します。

vim nginx.conf 

ここに画像の説明を挿入

http{}内にリバース プロキシ構成情報を追加します。

# ウェブサイトは単なるランダムな名前であり、単なる識別情報であり、プロキシする必要がある対応する IP:ポートがその中に含まれています。
# 複数のサービスを直接入力することもできます。nginx はアップストリームのウェブサイトを自動的に読み込みます{
                サーバー localhost:81;
                サーバー localhost:82;
        }

        サーバ{
                聞く 80;
                # 解決する必要があるドメイン名情報を設定し、このドメイン名が現在のサーバーの server_name www.123.com にアクセスできることを確認します。
                位置 / {
                		# 上記で定義したオブジェクトを proxy_pass http://website の下に配置します。
                        proxy_set_header ホスト $http_host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
        }

3-展開を完了する

上記の 2 つの手順を完了したら、 tomcatNginxを再起動すると、ドメイン名を介して 2 つのアプリケーションに個別にアクセスできるようになります。

# binディレクトリに入り、Tomcatを再起動します
./シャットダウン.sh
./スタートアップ.sh
# sbinディレクトリに入り、nginxを再起動します
./nginx -s リロード

tomcat+nginx を使用したマルチアプリケーション デプロイメントを実装するためのサンプル コードに関するこの記事はこれで終了です。tomcat+nginx を使用したマルチアプリケーション デプロイメントの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker ベースの Tomcat クラスタと Nginx ロード バランシングの展開の概要
  • Nginx+Tomcat マルチサイト展開方法
  • Nginx + Tomcat リバースプロキシが 1 つのサーバーに複数のサイトを効率的に展開する方法の詳細な説明
  • 詳細な Nginx + Tomcat リバース プロキシ ロード バランシング クラスターの展開ガイド

<<:  CSS3アニメーションとHTML5の新機能の詳しい説明

>>:  無効と読み取り専用の機能と違い

推薦する

Dockerディスク容量不足の問題を解決する

Docker が配置されているサーバーをしばらく稼働させたところ、サーバーのディスク ディレクトリの...

Docker ネットワークの原理とカスタム ネットワークの詳細な分析

Docker はホストマシン上のブリッジを仮想化します。コンテナを作成して起動すると、各コンテナには...

ChromeとIEに対応したWMPに埋め込まれたHTMLの詳細な紹介

実際には、対応する記述方法は多数ありますが、最も一般的なのは object + embedded で...

今日、今週、今月、先月のMySQLクエリデータ

今日 テーブル名から * を選択します。ここで、to_days(時間フィールド名) = to_day...

Vueは複数のカウントダウンを同時に設定する機能を実装しています

この記事の例では、複数のカウントダウンを同時に設定するためのVueの具体的なコードを参考までに共有し...

MySQL で 1 つのテーブルのフィールドを使用して別のテーブルのフィールドを更新する方法

1. 1列を変更する 学生の更新、都市c s.city_name = c.name を設定します こ...

さまざまなHTTPリターンステータスコードの詳細な説明

サイト上のページを表示するためのリクエストがサーバーに送信されると(たとえば、ユーザーがブラウザでペ...

Vueのコンポーネントの詳細な説明

目次1. コンポーネントの登録2. コンポーネントの使用3. 父から息子へ4. 息子から父へ5. ス...

Unicodeの一般的な記号

Unicode は、世界中のすべてのテキストと記号に対応できる国際組織によって開発された文字エンコー...

クリックイメージ反転効果を実現するJavaScript

最近、顔コレクションに関するプロジェクトに取り組んでいましたが、フロントエンドモジュールを書いている...

Vueはプライベートフィルターと基本的な使用法を定義します

プライベート フィルターとグローバル フィルターのメソッドと概念は同じですが、プライベート フィルタ...

Oracle の開閉の 4 つのモード

>1 データベースを起動するcmd コマンド ウィンドウで、「sqlplus」を直接入力して ...

Echatsチャートの大画面適応を実装する方法

目次説明する成し遂げるプロジェクトのディレクトリ構造は次のとおりです。効果図は以下のとおりです要約す...

Ubuntu インストール時にブラックスクリーンが表示される場合の解決策 (3 種類)

私のコンピューターのグラフィック カードは Nvidia グラフィック カードです。再起動後、画面に...