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の問題を解決することができました。インターネット...

きちんとした標準的なHTMLタグの書き方を学ぶ

優れた HTML コードは美しい Web サイトの基礎となります。私が CSS を教えるときは、まず...

CSS3を使用してトランジションとアニメーション効果を実現する

JS アニメーションの代わりに CSS アニメーションを使用する必要があるのはなぜですか? Java...

QT が MYSQL データベースに接続するための詳細な手順

最初のステップは、対応するデータベースモジュール(sql)をプロジェクトファイル( .pro )に追...

Linux での Makefile の書き方と使い方の詳細な説明

目次メイクファイルMakefile の命名とルールMakefile の仕組みMakefile変数Ma...

Linux での MySQL 5.6.27 インストール チュートリアル

この記事では、LinuxでのMySQL 5.6.27のインストールチュートリアルを参考までに紹介しま...

IE6/IE7/IE8/IE9/FF 向け CSS ハック (概要)

IE8.0の正式版をインストールしたので、基本的なCSS HACKをいくつかまとめてみました。We...

Windows Server 2008 R2 リモート デスクトップのポート 3389 を変更する方法

Windows サーバー リモート デスクトップのデフォルトのポート番号は 3389 です。職場でサ...

MySQL のメモリ使用量と CPU 使用率が高い場合のテストと解決策

変更後: innodb_buffer_pool_size=576M ->256M InnoDB...

CSS クリアフロートクリア:both サンプルコード

今日はフロートのクリアについてお話します。フロートのクリアについてお話する前に、フロートとは何かを理...

Centos は chrony 時間同期サーバー プロセス図を構築します

私の環境: 3 centos7.5 1804マスター 192.168.100.140ノード1 192...

nginx プロキシ サーバーで双方向証明書検証を構成する方法

証明書チェーンを生成するスクリプトを使用して、ルート証明書、中間証明書、および 3 つのクライアント...

Ajax の JavaScript ソリューションにおける parsererror エラー ケースの詳細な説明

ajax の parsererror エラー (バックグラウンドからフロントエンドに送信される js...

フォームの送信イベントが応答しない

1. 問題の説明<br />JS を使用してフォームの送信メソッドを呼び出してフォームを...