2016-08-31 6 views
2

Tomcatアプリケーションの配備のためにAnsibleプレイブックを設定しようとしています。 Tomcatを始めることは別として、何も問題なく動作します。私はstartup.shを使用すると動作しますが、私はcatalina.shスクリプトでtomcatを起動する必要があります。Anonymous上でtomcat catalinaスクリプトを実行するには

- name: start tomcat 
    command: ./bin/catalina.sh start 
    args: 
     chdir: /websrv/tomcat/tomcat-8080/ 

これは私がやっていることですが、これは始まったと言われていますが、それは決して始まったことはありません。

TASK [start tomcat] ************************************************************ 
changed: [appserver.example.com] 

助けてください。

ノート:私はcentosでtomcatの圧縮バージョンを使用していますが、tomcatをインストールしていません。だから誰かがスクリプトを始める方法を明らかにすれば、それは本当に役に立つだろう。

+0

はcatalina.shスクリプトに定義されており、それは.bash_profileには含まれていません。したがって、catalina.shを起動/実行している間、JAVA_HOMEはセッションにエクスポートされます。 – parames

答えて

3

組み込みのTomcat管理スクリプトは、ttyから切り離されず、これにより、Aniable sshセッションが終了したときにそれらが強制終了されます。バックグラウンド/デタッチさせるためにスクリプトをハックするか、Tomcat用の適切なinit/systemdスクリプト(または多数のサンプルのいずれかのベビーベッド)を作成してインストールする必要があります。例えば、hereまたはhereまたはhere ...

+0

ありがとうMatt、私は[this](https://github.com/ansible/ansible-examples/blob/master/tomcat-standalone/roles/tomcat/files/tomcat-initscript.sh)スクリプトを使用し、必要に応じて修正しました。今はうまくいく。 – parames

+0

美しい。提案に感謝 – Dexter

1

あなたはAnsibleのTTYは、以下を使用からアタッチされていないTomcatサーバーを実行するための迅速な解決をしたい場合:JAVA_HOME @techraf

- name: "Starting Apache server" 
    command: nohup {{ apache_install_location }}/tomcat9/bin/startup.sh 
+0

ありがとう、これは私のために働いた。私は適切なinit/systemdスクリプトを作成しようとしましたが、手動で作業しましたが、それは不可能なものでは機能しませんでした。 上記の方法の良い点は、tomcatログはnohup.outに書き込まれる代わりにcatalina.outに送られるということです。 –

関連する問題