[解決済み】Spring Bootアプリケーションのサービス化
質問
実行形式jarでパッケージされたSpring BootアプリケーションをLinuxシステムでサービスとしてうまく構成するにはどうしたらよいでしょうか。それとも、このアプリをwarに変換してTomcatにインストールするべきですか?
現在、Springブートアプリケーションは
screen
セッションで、サーバー再起動後に手動で起動する必要があるのは良いことです。
私が探しているのは、一般的なアドバイスや方向性、またはサンプルとなる
init.d
スクリプトは、もし私のアプローチが実行可能な
ジャー
が正しい。
解決方法は?
以下は、springboot 1.3以降で動作します。
init.d サービスとして
実行可能なjarは、通常のstart, stop, restart, statusコマンドを備えています。また、通常の/var/runディレクトリにPIDファイルを設定し、通常の/var/logディレクトリにログを記録するようにデフォルトで設定されています。
jarを/etc/init.dに以下のようにシンボリックリンクする必要があります。
sudo link -s /var/myapp/myapp.jar /etc/init.d/myapp
または
sudo ln -s ~/myproject/build/libs/myapp-1.0.jar /etc/init.d/myapp_servicename
その後、通常の
/etc/init.d/myapp start
次に、必要であれば、起動時にアプリを開始/停止させたいランレベルにリンクを設定します。
systemd サービスとして
var/myappにインストールしたSpring Bootアプリケーションを実行するには、/etc/systemd/system/myapp.serviceに以下のスクリプトを追加してください。
[Unit]
Description=myapp
After=syslog.target
[Service]
ExecStart=/var/myapp/myapp.jar
[Install]
WantedBy=multi-user.target
注意:この方法を使用する場合、jarファイル自体を実行可能にする(chmod +x)ことを忘れないでください、さもなければ、エラー "Permission denied" で失敗します。
参考文献
関連
-
[解決済み】nohupプロセスをkillするためにプロセスIDを取得する方法?
-
[解決済み】ハイフン(-)で始まるファイル名を処理する方法は?
-
[解決済み】stdinがターミナルでないため、疑似ターミナルが割り当てられない
-
[解決済み】画面 ターミナル '/dev/pts/0' を開くことができない - 確認してください。
-
[解決済み] usr/bin/env bash」と「#!/usr/bin/bash」の違いは何ですか?
-
[解決済み] フォルダが存在するにもかかわらず、マウントポイントが存在しない。手動でマウントできる
-
[解決済み] 負荷警告: エントリ シンボル _start が見つかりません
-
[解決済み] readChar(con, 5L, useBytes = TRUE)でのエラー:接続を開くことができません。
-
[解決済み] 次のコマンドの -print0 の意味を教えてください。
-
[解決済み] Spring Bootアプリケーションにポートを設定する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】nohupプロセスをkillするためにプロセスIDを取得する方法?
-
[解決済み】gcc: エラー: 認識されないコマンドラインオプション
-
[解決済み] SVNパッチの作成と適用方法について教えてください。
-
[解決済み] シェルで 'exec ls' を実行すると何が起こるか、またその理由は?[クローズド]。
-
[解決済み] sshpass: コマンドが見つからないエラー
-
[解決済み] scpでファイルをコピーする:接続がタイムアウトした[closed]。
-
[解決済み] vimdiff の出力ファイルにおける +-- の意味は何ですか?それをオフにする方法は?
-
[解決済み] GDB からソースがないとのクレーム
-
[解決済み] サービスが開始されない:エラー1067:プロセスが予期せず終了した
-
[解決済み] LinuxでJavaアプリケーションをサービスとして動作させる