Javaロケーションで記述されたLinuxデーモン
質問
現在、Javaデーモンを書いています。標準のデーモンコマンド(開始、停止、再起動、ステータス)を含むスクリプトを作成しており、デーモンをインストールするときにどこに行くべきかを判断しようとしています。
私の現在のアイデアは:
PIDファイル: /var/run/myapp.pid
デーモンスクリプト: /etc/init.d/myapp
Javaアプリ(.jar): / usr / bin / myapp
ログ: /var/log/myapp.err 、 /var/log/myapp.log 、 / var / log / myapp .info (アイデアがわかります)
構成: /etc/myapp.conf (または将来複数の構成がある場合は / etc / myapp / configs-go-here )
Linuxディレクトリ構造はまだ新しいので、何か間違ったことをしている場合はお知らせください。私を最も混乱させているのは、Javaアプリがバイナリではなく.jarファイル(アーカイブ)であることです。つまり、 / usr / bin / は" right"ではありません。それのための場所?
解決
.jar
ファイルを /usr/lib/myapp/myapp.jar
に置き、起動スクリプトに java -j / usr /を実行させることができます。 lib / myapp / myapp.jar
その側面から見ると、jarは実質的に / usr / bin / java
バイナリが使用するライブラリであるため、これらの場所は見栄えがよくなります。
他のヒント
/usr/lib/myapp/myapp.jar
の提案は正しい軌道に乗っていますが、 / usr / lib
はアーキテクチャ固有のファイル用です-Java < code> jar アーカイブはプラットフォームに依存しません。 /usr/share/myapp/myapp.jar
はより良い場所です。