2017-04-24 14 views
1

スタンドアロンの.jarをAnsible経由でサービスとして実行する最良の方法は何ですか?Ubuntuで安全にJava Jarをサービスとして実行

私はmetabase.jarをUbuntu EC2ホスト上で実行する必要があります。

私はそれをデーモン化すべきですか?推奨される方法やライブラリはありますか?

可能であれば、私はAnsibleハンドラを介して状態を管理したいと考えています。あなたの根底にあるボックス(init.dディレクトリまたはsystemctl)のinitシステムによっては

おかげ

答えて

4

2つの方法があります。


init.dディレクトリ

ansibleを使用すると、あなたはその後、 サービスの状態を管理するためにansibleのサービスモジュールを使用することができます

/etc/init.d/<your_service_name> 

の下で、アプリケーションのjarファイルのシンボリックリンクを作成することができます

- service: 
    name: <your_service_name> 
    state: restarted 

詳細情報:あなたのinitメソッドがsystemdにされている場合はAnsible service module documentation


systemctl

あなたは

[Unit] 
Description=<Description> 

[Service] 
ExecStart=/path/to/<your_app>.jar 

[Install] 
WantedBy=multi-user.target 

にユニットファイルをコピーし、非常に単純なユニット・ファイルを作成する必要があります
/etc/systemd/service/<your_unit_file>.service 

Ansible systemd module documentation

+1

感謝:サービスの状態

- name: Start Service systemd: name: <your service name> state: started 

詳細情報を管理する電子のansibleのsystemdにモジュール!それを試みます! – RedRobot

+0

サービスファイルは '' '/ etc/systemd/system'''に置く必要がありますが、それ以外の場合は正しく書いてください – RedRobot

+0

答えにパスが変更されました。それはあなたのために働いた。 –

関連する問題