質問: サービスとしてのspring bootアプリケーション 実行可能jarとしてパッケージ化されたspring bootアプリケーションをlinuxシステムのサービスとしてうまく設定するにはどうすればいいですか?これは推奨されるアプローチですか、それともこのアプリをwarに変換してtomcatにインストールする必要がありますか?現在私はscreenセッションからspringブートアプリケーションを実行することができます。これはいいことですが、サーバーの再起動後に手動で起動する必要があります。私が探しているのは、一般的なアドバイス/指示、またはサンプルのinit.dスクリプトです。実行可能ファイルに対する私のアプローチjarが適切であれば。
回答: 圧縮されたjavaアプリケーションを最後に付けて、 "init.d"スタイルのシェルスクリプトとして表示されるspringbootアプリケーションを作成しようとしています。これらのスクリプトを/etc/init.d/spring-appから/opt/spring-app.jarにシンボリックリンクし、jarを実行可能にchmodすることで "/etc/init.d/spring-app start"を実行することができます。 "" /etc/init.d/spring-app stop "やステータス作業のような他の可能性おそらく、springbootのinit.dスタイルのスクリプトは必要なマジックストリング(# default-start: 2 3 4 5のような)を持っているように見えるので、chkconfigはそれを "サービス"として追加することができるでしょう。しかし、私はそれをsystemdで動作させることを望みましたこの仕事をするために私は上記の他の答えの受取人の多くを試したが彼らのどれも私のために働かなかった springboot 1.3を搭載したcentos 7.2で==彼らはサービスを始めるがpidを追跡できない結局、/etc/init.dリンクも設定されていたときに、私は次のことがうまくいったことを見つけました。以下のようなファイルが/usr/lib/systemd/system/spring-app.serviceとしてインストールされます。[unit] description=my loverly application after=syslog.target [service] type=forking pidfile=/var/run/spring-app/spring-app.pid execstart=/etc/init.d/spring-app start successexitstatus=143 [install] wantedby=multi-user.target