Spring Boot Reference Guideの " Installation as init.d service(System V) "の章の指示に従っています-)。
Centos6.6のinit.d
でJavaアプリへのシンボリックリンクを作成できません。
走った後
Sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp
やってみると
chmod 500 /etc/init.d/myapp
私は得る
chmod: cannot operate on dangling symlink `myapp'
このようなシンボリックリンクの代わりに通常のファイルのアクセス許可を変更すると:
chmod 500 myapp.jar
もちろん、シンボリックリンクはまだ壊れており、service --status-all
では表示されません。
また、アプリを起動できないため、シンボリックリンクが正しく作成されていないことを確認できます。
Java -jar /etc/init.d/myapp
注:jar全体を/etc/init.d/
にコピーするだけで、すべてが正常に機能します。
Jarファイルへのシンボリックリンクを作成することが「良い」と見なされるのか、それとも/etc/init.d/にコピーするだけでよいのかさえわかりません。
アプリケーションを起動するために、jarファイルをリンクする必要はありません。開始するバイナリはJava、引数としてjarファイルを使用します。これを行うには、initファイルを作成する必要があります(またはシステムのsysyemdユニットファイルはsystemdを使用します)。スクリプトは少なくともstart引数とstop引数を処理して、アプリケーションを開始および停止します。次に、startは、アプリケーションに必要なJavaホームおよびその他のアイテムを設定し、Javaコマンド。使用できるinitスクリプトに使用できるテンプレートがいくつかあります。