Tomcat で複数の war パッケージを展開する方法と手順

Tomcat で複数の war パッケージを展開する方法と手順

1 背景

JDK1.8-u181とTomcat8.5.53がインストールされました。

インストール後、環境変数に JAVA_HOME と Path が設定されます。 JDKではなくJREが搭載されています。

MES と ERP の 2 つの戦争パッケージをリリースする必要があります。

2 Tomcatをインストールする

.exe ファイルを使用してインストールしましたが、インストール後に tomvat_home を設定しませんでした (設定する必要があるかどうかわからないため)

3 フォルダをコピー

3.1 インストールディレクトリconfCatalina

Catalina はフォルダーです。Catalina を 2 つのフォルダーにコピーします。1 つは CatalinaMES というフォルダー、もう 1 つは CatalinaERP というフォルダーです。両方をインストール ディレクトリ\conf ディレクトリに配置します。

3.2 インストールディレクトリ webapps

webapps もフォルダーです。webappsMES と webappsERP という名前の 2 つのコピーを作成し、両方をインストール ディレクトリに配置します。

MESプロジェクトのwarパッケージはインストールディレクトリ\webappsMESに配置されます。

ERPプロジェクトのwarパッケージはインストールディレクトリ\webappsERPに配置されます。

4 設定ファイルを変更する

インストールディレクトリ\conf\server.xmlの内容を変更します。

<?xml バージョン="1.0" エンコーディング="UTF-8"?>

<サーバーポート="-1" シャットダウン="シャットダウン">
<リスナークラス名="org.apache.catalina.startup.VersionLoggerListener" />

<リスナークラス名="org.apache.catalina.core.AprLifecycleListener" SSLEngine="オン" />

<リスナークラス名="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<リスナークラス名="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<リスナークラス名="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

<グローバル命名リソース>

<リソース名="UserDatabase" auth="コンテナ"
タイプ="org.apache.catalina.UserDatabase"
description="更新および保存できるユーザーデータベース"
ファクトリー="org.apache.catalina.users.MemoryUserDatabaseFactory"
パス名="conf/tomcat-users.xml" />
</グローバル命名リソース>

<!-- mes をデプロイ -->
<サービス名="CatalinaMES">

<コネクタ ポート="8085" プロトコル="HTTP/1.1"
接続タイムアウト = "20000"
リダイレクトポート="8443" />

<エンジン名="CatalinaMES" defaultHost="localhost">

<レルムクラス名="org.apache.catalina.realm.LockOutRealm">

<レルムクラス名="org.apache.catalina.realm.UserDatabaseRealm"
リソース名="ユーザーデータベース"/>
</レルム>

<ホスト名="localhost" appBase="webappsMES"
unpackWARs="true" autoDeploy="true">

<コンテキスト パス="/mes-manager-web" docBase="C:\Program Files\Tomcat 8.5\webappsMES\mes-manager-web" デバッグ="0" 特権="true"></コンテキスト>

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

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

<!-- ERP をデプロイ -->
<サービス名="CatalinaERP">

<コネクタ ポート="8082" プロトコル="HTTP/1.1"
接続タイムアウト = "20000"
リダイレクトポート="8443" />

<エンジン名="CatalinaERP" defaultHost="localhost">


<レルムクラス名="org.apache.catalina.realm.LockOutRealm">

<レルムクラス名="org.apache.catalina.realm.UserDatabaseRealm"
リソース名="ユーザーデータベース"/>
</レルム>

<ホスト名="localhost" appBase="webappsERP"
unpackWARs="true" autoDeploy="true">

<コンテキスト パス="/erp-manager-web" docBase="C:\Program Files\Tomcat 8.5\webappsERP\erp-manager-web" デバッグ="0" 特権="true"></コンテキスト>


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

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

このうち、<service> ノードはサービス、つまりデプロイされたプロジェクトを表します。

<service> ノードの name 属性は、対応する Catalina フォルダーの名前に変更されます。 <Engine> ノードの name 属性も、対応する Catalina フォルダーの名前に変更されます。

<Connector> ノードの port 属性はプロジェクトのポート番号です。競合しないように注意してください。

<Host> ノードの appBase プロパティが、対応する webapps フォルダーに変更されます。

<Context> ノードのパス属性はアクセスに使用されるアドレスです。つまり、プロジェクトのアクセス アドレスは服務器ip:項目端口號/path屬性的值。現在の構成によると、MES プロジェクトのローカル アクセス アドレスは127.0.0.1:8085/mes-manager-webです。 <Context> ノードの docBase 属性は、プロジェクトの war パッケージのローカル パスです。これをローカル マシン上の war パッケージの絶対パスに変更するだけです。

5 startup.batとshutdown.batを変更する

インストール ディレクトリ\bin\startup.bat を編集し、先頭に次のコードを追加します。

JAVA_HOME=C:\Program Files\Java\jre1.8.0_181 を設定します
TOMCAT_HOME=C:\Program Files\Tomcat 8.5 を設定します

1 つ目は JRE のインストール場所で、2 つ目は tomcat のインストール パスです。

同じ内容をshutdown.batの同じ場所に追加します。

6 startup.batをダブルクリックしてTomcatを実行します

このとき、DOS ウィンドウが開き、IDEA コンソールのようなプロジェクトの起動情報が出力されることに注意してください。プロジェクトが正常に起動したら、この DOS ウィンドウを閉じずに開いたままにしてください。Tomcat をオフにすると、実行が停止します。

7 注記

複数のプロジェクトで Spring フレームワークを使用する場合、複数のポートと複数のアプリケーションで Tomcat を構成するときにエラーが発生する可能性があります。

解決策: 各プロジェクトの web.xml に次のノードを追加します。

<コンテキストパラメータ>
<param-name>webAppRootKey</param-name>
<param-value>webapp.root</param-value>
</コンテキストパラメータ>

各プロジェクトの web.xml の <param-name> が、webAppRootKey に対応する <param-value> と異なることを確認します。たとえば、最初のものは webapp.root1 を使用し、2 番目のものは webapp.root2 を使用する、というようになります。

また、サーバーのファイアウォールが設定したいポートへの外部アクセスを許可しているかどうかにも注意してください。

Tomcat で複数の war パッケージをデプロイする手順に関するこの記事はこれで終わりです。Tomcat で複数の war パッケージをデプロイする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • アイデアを war パッケージにパッケージ化し、tomcat にデプロイしてアクセス パスの問題 (図とテキスト)
  • Tomcat ルート ディレクトリに Web アプリケーションをデプロイする 3 つの方法
  • Tomcat にデプロイすると SpringBoot アプリケーションが起動できない問題の解決方法
  • Tomcat を使用して Web アプリケーションを展開する 4 つの方法の概要 (推奨)
  • Docker で Tomcat および Java アプリケーションをデプロイする詳細な手順
  • Tomcatにデプロイされたアプリケーションがフロントエンドページにアクセスできない問題について

<<:  vue3.0+vant3.0の迅速なプロジェクト構築の実装

>>:  MySQL における or、in、union、インデックス最適化の詳細な分析

推薦する

モバイル署名機能を実装するJavaScript

この記事では、モバイル署名機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...

Chrome Dev Tools を使用してページのパフォーマンスを分析する方法 (フロントエンドのパフォーマンス最適化)

背景開発やデバッグには Chrome Dev Tools がよく使用されますが、ページのパフォーマン...

jQuery はシャッター効果を実現します (li 配置を使用)

この記事では、ブラインド効果を実現するためのjQueryの具体的なコードを参考までに紹介します。具体...

Centos7環境でMySQL 5.6のインスタンスを複数作成する方法の詳細な説明

この記事では、CentOS 7 環境で MySQL 5.6 の複数のインスタンスを作成する方法につい...

Vueフロントエンドパッケージングの詳細なプロセス

目次1. パッケージ化コマンドを追加する2. パッケージ化されたコードを実行する3. パッケージ化し...

HTML でのアンカーポイントの適用

アンカーポイントの設定<a name="トップ"></a>...

キーボード上の各種特殊記号の英語読み方(知識の普及)

キーボード文字英語`バッククォート〜チルダ!叫ぶ@で#ナンバーサイン$ドル%パーセント^キャレット&...

Centos 7にmysql5.7.24バイナリバージョンをインストールする方法と解決方法

MySQLバイナリのインストール方法mysqlをダウンロード参考: 1. パッケージを解凍する ta...

MySQL 5.0.96 for Windows x86 32 ビット グリーン簡易版インストール チュートリアル

MySQL 5.0 は、いくつかの「高度な機能」があるため定番となっています。これは、Windows...

HTML 言語百科事典

123WordPress.com-HTML noscriptオブジェクトolオプションPパラントプレ...

vue プロジェクトで rem を使用して px を置き換える例

目次道具プラグインをインストールするプロジェクトのルートディレクトリに.postcssrc.jsファ...

Nuxt.jsプロジェクトのDockerデプロイメントの実装

Docker 公式ドキュメント: https://docs.docker.com/ Docker は...

HTML に基づいてページを更新せずにフォーム送信を実装する

ページを更新せずにフォーム送信を実装するために Ajax を使用することは、プロジェクトでよく使用さ...

MySQL テーブルデータのインポートとエクスポートの例

この記事では、MySQL テーブル データのインポートおよびエクスポート操作について説明します。ご参...

docker createコマンドの使用方法

docker create コマンドは、イメージに基づいてコンテナを作成できます。このコマンドの効果...