特定の war ファイルを Tomcat サーバーにデプロイする方法はありますか? Webインターフェイスを使用せずにこれを行いたいです。
6 に答える
Tomcat Web アプリケーションをデプロイするには、いくつかの方法があります。
- すでに述べたように、$CATALINA_HOME/webapps にドロップします。
- ビルド スクリプトを使用して、マネージャー インターフェース (Tomcat に付属) を介して自動的にデプロイします。ここに2つの方法があります
<property name="manager.url" value="http://localhost:8080/manager"/> <property name="manager.username" value="manager"/> <プロパティ名="manager.password" 値="foobar"/> <!-- タスク定義 --> <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"/> <taskdef name="list" classname="org.apache.catalina.ant.ListTask"/> <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"/> <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/> <!-- ゴール --> <target name="install" depends="compile" description="アプリケーションをサーブレットコンテナにインストール"> <デプロイ url="${manager.url}" ユーザー名="${manager.username}" password="${manager.password}" path="${app.path}" localWar="file://${build.home}"/> </ターゲット> <target name="list" description="サーブレット コンテナにインストールされているアプリケーションを一覧表示する"> <list url="${manager.url}" ユーザー名="${manager.username}" password="${manager.password}"/> </ターゲット> <target name="reload" depends="compile" description="サーブレットコンテナでアプリケーションをリロード"> <reload url="${manager.url}" ユーザー名="${manager.username}" password="${manager.password}" path="${app.path}"/> </ターゲット> <target name="remove" description="サーブレット コンテナのアプリケーションを削除"> <undeploy url="${manager.url}" ユーザー名="${manager.username}" password="${manager.password}" path="${app.path}"/> </ターゲット>
これらのすべてには、Tomcat ユーザー構成が必要です。生き$CATALINA_BASE/conf/tomcat-users.xml
ていますが、Web インターフェイスの使用方法は既に知っているので、ユーザーとパスワードの設定方法は知っていると思います。
war ファイルを $TOMCAT_HOME/webapps/ ディレクトリにコピーするだけです。Tomcat は war ファイルを自動的に展開して展開します。参考までに-必要に応じて、展開されたディレクトリを直接更新できます。これは開発に役立ちます。
conf/server.xml を編集して、war ディレクトリを指すこのようなエントリを追加できます
<Context path="/strutsDisplayTag"
reloadable="true"
docBase="C:\work\learn\jsp\strutsDisplayTag"
workDir="C:\work\learn\jsp\strutsDisplayTag\work" />
それ以外の場合は、.WAR ファイルを tomcat の webapps ディレクトリにコピーできます。
私たちは Web インターフェイスを使用したことがありません。好きではありません。war は、必要に応じて編集された webapps および server.xml にドロップされます。server.xml を編集する場合はバウンスする必要がありますが、war ファイルは自動的に取得されるはずです。通常、コンポーネントがどこから来たのか混乱しないように、戦争から拡張されたディレクトリを最初に削除します。
Tomcat Client Deployer Packageは、コマンドラインからリモートサーバーにデプロイする必要があるもののようです。ページから:
これは、検証、コンパイル、.WARへの圧縮、およびWebアプリケーションの本番または開発Tomcatサーバーへのデプロイに使用できるパッケージです。この機能はTomcatManagerを使用するため、ターゲットのTomcatサーバーが実行されている必要があることに注意してください。
tomcat-manager という tomcatを管理するためのこのコマンドライン スクリプトを試すこともできます。Python が必要で、Tomcat に含まれているマネージャー アプリケーションと HTTP 経由で通信します。次のような *nix シェルから実行できます。
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ stop /myapp
と:
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war