PathChanged
新しいソース.jarファイルが送信されたときに私のサービスを再配布するようにsystemdを設定するためにサービスと連携してディレクティブを使用するパスファイルがあります。インストール部分は、サービスファイルではなくPATHファイルになければならないことを読んでいましたが、これは "systemctlを有効にするMYAPP"が不可能であることを発見しました。サーバーの再起動時にインストールが.pathファイルにのみ存在する場合、私のアプリケーションは正しく起動しますか?私が知る必要がある他の問題はありますか?
# myapp.path
[Unit]
Wants=myapp.service
[Path]
PathChanged=/srv/webapps/myapp/myapp.jar
[Install]
WantedBy=multi-user.target
ベストアンサー1
次に[Install]
部品を挿入します。myapp.path
systemctl enable myapp.path
なぜ入ってはいけないのですかmyapp.service
?
[Install]
そのセクションを挿入すると、起動直後にmyapp.service
サービスが開始されます。multi-user.target
あなたはおそらくこれをしたくないでしょう。myapp.service
Triggeredになったときにのみ起動したいですmyapp.path
。
なぜ入るのmyapp.path
?
myapp.path
トリガーmyapp.service
。したがって、myapp.path
何でもしたい場合は始める必要があります。システムが起動するとすぐにそのパスの監視を開始するには、インストールセクションを追加することが解決策です。
なぜ動作しないのですsystemctl enable myapp
か?
拡張子を指定しない場合は、.service
拡張子とみなされます。 .セクションが存在しないため、アクティブ化に失敗しました。 正しいことです。systemctl enable myapp
systemctl enable myapp.service
[Install]
myapp.service
systemctl enable myapp.path