Tomcat 7でwarファイルをデプロイする方法


346

sample.warファイルをwebappsTomcat のディレクトリにコピーしましたlocalhost:8080。アクセスできます。

Tomcatはどのようにそれをデプロイしますか?それはブラウザで開く必要があるということですか?アプリケーションにアクセスするにはどうすればよいですか?

回答:


325

次の場所からアプリケーションにアクセスできます。 http://localhost:8080/sample

warファイルのデプロイまたは再デプロイはデフォルトで自動的に行われます。ファイルをコピー/上書きした後、抽出されたフォルダーがないsample.warwebappsフォルダーを確認してくださいsample

正しく開かない場合は、ログファイル(例:tomcat / logs / catalina.out)で展開の問題を確認してください。


7
WARの名前が「ROOT.war」の場合はどうなりますか?そのWARはどこにありますか?
ケビンメレディス

5
sample.warをlocalhost:8080 / somethingdifferentにデプロイする場合はどうなりますか?
Koray Tugay 2013年

15
META-INF / context.xmlで指定できます
Bozho

5
META-INF / context.xml、それはtomcat \ conf \ context.xmlにあるものですか?それとも、私がデプロイしているアプリケーションにあるべきですか?
Koray

2
両方の場所に配置できます。私はそれがアプリケーション内にあることを好みます
Bozho 2013年

89

ステップ1。ここで私はpos.warをデプロイしています最初にtomcat webappsフォルダーに移動して貼り付けます

ここに画像の説明を入力してください

ステップ2。tomcat->に行くビンクリックして、フォルダの開始のTomcat のstartup.batを

ステップ3。ブラウザに移動してlocalhost:port / project nameを書き込みます。localhost:8080 / pos(ここでは、tomcatはポート8080で実行されます)

完了...。

ここに画像の説明を入力してください


ありがとうございました!さらに、WARを抽出してログファイルを生成できるように、新しくインストールしたTomcatディレクトリ構造に権限を設定する必要がありました。
Anthony De Souza

59

warファイルをwebappsに入れ、サーバーを起動するだけです。

デプロイされます。

それ以外の場合は、tomcat manager Webfrontを使用して、戦争をリモートでアップロードおよびデプロイすることもできます。


1
残念ながら動作しません!私の特定のwarファイルをテストしますか?!してくださいダウンロード"から"linshareコア-1.8.4-SSO.warなし" forge.linshare.org/projects/linshare/files "
Dr.jacky

@ Mr.Hが戦争を開始した後、サーバーを起動するとログが記録され、なぜそれが機能しないのかがわかります
Jigar Joshi

1
「ホストのautoDeploy属性が「true」の場合、ホストは、たとえば新しい.WARがappBaseにドロップされた場合など、必要に応じてWebアプリケーションを動的にデプロイおよび更新しようとします。これが機能するには、ホストにバックグラウンドが必要ですデフォルトの構成である処理は有効です。 "
haltunbay

50

手動ステップ-Windows

  1. .warファイル(例:prj.war)を%CATALINA_HOME%\webapps(例:C:\ tomcat \ webapps)にコピーします。

  2. 走る %CATALINA_HOME%\bin\startup.bat

  3. .warファイルは、同じ名前(拡張子なし)のフォルダーに自動的に抽出されます(例:prj)

  4. に移動して、HTTPプロトコルのポート%CATALINA_HOME%\conf\server.xml取得します。。デフォルト値は8080です。<Connector port="8080" ... />

  5. 次のURLにアクセスします。

    [<protocol>://]localhost:<port>/folder/resourceName

    (例:localhost:8080/folder/resourceName

resourceNameようなファイルがないindex.html場合、または「」のようなURLパターンがない場合は機能しないため、URLなしでURLにアクセスしないでください。/ web.xmlに」や「/*」の。

利用可能なメインパスは次のとおりです。 [<protocol>://]localhost:<port>/manager/html(例:)。http://localhost:8080/manager/htmlこれらは[ true実行中]列にあります。


UIマネージャーの使用:

  1. に行く [<protocol>://]localhost:<port>/manager/html/(通常localhost:8080/manager/html/

    これはまたから達成可能です [<protocol>://]localhost:<port> > Manager App

    あなたが取得する場合:

    403アクセス拒否

    に移動し%CATALINA_HOME%\conf\tomcat-users.xml、次のような行を有効にしたことを確認します。

    <user username="tomcat" password="tomcat" roles="tomcat,role1,manager-gui"/>
  2. [ Deploy ]セクションの[WAR file to deploy]サブセクションで、[ Browse ... ]をクリックします

    ブラウズを展開する

  3. .warファイルを選択(例:prj.war)>クリック Deploy

  4. [ アプリケーション]セクションで、プロジェクトの名前を確認できます(例:prj)。

20

前述の方法(warファイルを直接webapps- ディレクトリにドロップする方法)に加えて、Tomcat Manager-アプリケーションをインストールしている場合は、ブラウザを介してwarファイルをデプロイすることもできます。マネージャーにアクセスするには、サーバーのルート(この場合はlocalhost:8080)を参照し、「Tomcat Manager」を選択します(この時点で、「manager」を使用してTomcatユーザーのユーザー名とパスワードを知っている必要があります)。ロール、ユーザーはtomcat-users.xmlで定義されています confの-tomcatインストールのディレクトリ)。最初のページから、ページの「Deploy」部分が表示されるまで下方向にスクロールします。「browse」をクリックして、ローカルマシンからデプロイするWARファイルを選択できます。ファイルを選択したら、[デプロイ]をクリックします。しばらくすると、マネージャーからアプリケーションがデプロイされたことが通知されます(すべてがうまくいけば開始されます)。

これは、Tomcat 7のドキュメントページからのより長いハウツーおよびその他の指示です。


4
managerTomcat 7での役割は現在manager-guiです。これに噛まれた。
SpliFF 2011

2
webappsに.warファイルをドロップしてもうまくいかず、ログにエラーの兆候はありませんでした。Tomcat Managerからそれを行うとうまくいきました。最初の方法が失敗した理由についての手掛かりではない
xverges

15

2つの方法があります。

  1. ホットデプロイメントを実行することもできます(ホットデプロイメントとは、サーバーが実行中/起動しているときにデプロイすることを意味します)。
  2. または、コールドデプロイメントを実行できます(コールドデプロイメントは、サーバーが停止したときにデプロイすることを意味します)。

コンソールのデプロイメントにtomcatマネージャーコンソールを使用するか、サーバーのtomcat_homeディレクトリのwebappフォルダーにアプリケーションをコピーして貼り付けます。

注: warファイルのサイズが52 MBデフォルトの構成値より大きい場合は、webappフォルダーのマネージャーアプリケーションのweb.xmlファイルに2つの小さな変更を加える必要があります(マネージャーアプリケーションは、デフォルトでApache tomcatによって提供されますサーバーのインストール時)。

  • マネージャーアプリケーションのweb.xmlに移動します(たとえば、/ tomcat7 / webapps / manager / WEB-INF / web.xmlの下にある可能性があります)。

  • Increase the max-file-size and max-request-size values in web.xml file:

    <multipart-config>

        <!– 50MB max –>
    
        <max-file-size>52428800</max-file-size>
    
        <max-request-size>52428800</max-request-size>
    
        <file-size-threshold>0</file-size-threshold>
    
     </multipart-config>

    値を入れてサイズを大きく<max-file-size>し、<max-request-size>あなたの条件に応じて。


10

これは私のために働いています:

  1. ローカルにwarファイル(mysite.war)を作成します。
  2. mysite.wwwのように、ローカルで.war以外の名前に変更します。
  3. tomcatを実行したまま、mysite.wwwをwebappsディレクトリにアップロードします。
  4. アップロードが完了したら、以前のバージョンのmysite.warを削除します
  5. ディレクトリ/ mysiteが消えるのを監視しながら、ディレクトリを一覧表示します。
  6. mysite.wwwの名前をmysite.warに変更します。
  7. 新しい/ mysiteが作成されるのを監視しながら、ディレクトリを一覧表示します。

新しいファイルをwarファイルとしてアップロードしようとしても、Tomcatが実行されている場合、すべてが存在する前に展開しようとします。失敗します。失敗したため、再試行しません。したがって、wwwファイルをアップロードしてから名前を変更すると、tomcatが気づく前にwarファイル全体が存在するようになります。

ヒント、warファイルの所有者がtomcatであることを確認することを忘れないでください(chownを使用)


2
これは例外的なケースで機能する可能性がありますが、有効なアンデプロイメント/デプロイメント手順ではありません。mysite.wwwは、autodeploy = "true"の場合に新しいコンテキストを作成し、mysite.warを削除すると、いくつかの通常の条件下でmysiteコンテキストが削除されます。最良のリファレンスは、Tomcat Web Application Deploymentです。
user250343 2016年

4

apt-getLinux を使用してtomcat7をインストールした場合は、アプリを/var/lib/tomcat7/webapps/

例えば。

sudo service tomcat7 stop

mvn clean package
sudo cp target/DestroyTheWorldWithPeace.war /var/lib/tomcat7/webapps/
#you might also want to make sure war file has permission (`777` not just `+x`)
sudo service tomcat7 start

また、アプリが実際にtomcatで問題なく動作していることを確認できるように、tomcatログを追跡し続けます。

tail -f /var/lib/tomcat7/logs/catalina.out

デプロイされたアプリケーションは、 http://172.16.35.155:8080/manager/html


2

1.アプリケーションからwarファイルを生成します
2. tomcatマネージャーを開き、ページを下に移動します
3.参照をクリックしてwarをデプロイします
4. warファイルを選択します。よし!


2

tomcat経由でwarファイルをデプロイするには、以下の手順に従います。

  1. Tomcatを停止します。powershell-> services.msc-> OK-> Apache Tomcat 8.5-> stop(左側)。

ここに画像の説明を入力してください

  1. E:\ Tomcat_Installation \ webapps ie webapps folder ie put.war内に.warファイルを置きます(put.warは単なる例です)

ここに画像の説明を入力してください

  1. tomcatを起動した後(tomcat powershell-> services.msc-> OK-> Apache Tomcat 8.5-> startを起動するには)

E:\ Tomcat_Installation \ webapps ** put **内に1つのフォルダーを取得します

ここに画像の説明を入力してください

このようにして、Apache Tomcatにwarファイルをデプロイできます。


1

次の手順を実行します。

  • Tomcatを停止します
  • プロジェクトを右クリックし、「クリーンとビルド」をクリックします
  • プロジェクトディレクトリに移動し、Distフォルダ内に、tomcatにコピーするwarファイルを取得します
  • webAppフォルダー
  • Tomcatを起動します
  • warファイルの自動抽出とプロジェクトの実行

1

私は次のリンクの指示に従いました、それは私のために働きます。 http://www.coderanch.com/t/487178/Tomcat/war-file-show-load

  1. Tomcatを停止します

  2. tomcat / logs内のすべてのログとtomcat / conf / Catalina / localhost内のすべてのファイルを削除します

  3. warファイルとそれが作成したディレクトリ(作成した場合)をtomact / webappsから削除します。

  4. Tomcatを起動します

  5. ログを見ながら、warファイルを再度webappsディレクトリにコピーします

この後、catalina.xxxx-xx-xx.log監視して問題を見つけます。


1
これは、Tomcatによって排他的に管理されているファイルを妨害するため、有効なアンデプロイメント/デプロイメント手順ではありません。最良のリファレンスは、Tomcat Web Application Deployment
user250343
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.