linuxバックグランドでspringbootプロジェクトを開始します.
2801 ワード
linuxバックグランドでspringbootプロジェクトを開始します.
私たちはスプリングブックを起動する項目には三つの方法があると知っています.メインメソッド起動 コマンドmvn spring-boot:runを使用してコマンドラインでアプリケーションを起動します. が「mvn package」を実行してパッケージ化すると、直接実行できるJARファイルにパッケージ化され、「java-jar」コマンドを使用して直接実行できます. 私たちは開発する時は前の二つを使いますが、配置する時は第三種類を使います.しかし、私たちはjava-jarを使って運行しています.バックグラウンドではありません.
次に、サーバーではどのようにバックグラウンドでspringbootプロジェクトを起動しますか?実際に実現する方法はいろいろあります.ここでは二つの方法を並べたほうがいいです.
nohupとShell
この方法は主にnohupコマンドを使用して実現され、このコマンドの詳細は以下の通りである.
nohupコマンド
用途:コマンドを切り離さずに実行します.
文法:nohup Command[Arg...][&]
説明:nohupコマンドは、Commandパラメータおよび任意の関連するArgパラメータによって指定されたコマンドを実行し、すべての切断(SIGHUP)信号を無視します.ログアウト後にnohupコマンドを使ってバックグラウンドのプログラムを実行します.バックグラウンドのnohupコマンドを実行して、コマンドの末尾に追加します.
例:アプリケーションを閉じるスクリプト:stop.sh アプリケーションを開始するスクリプト:start.sh は、シャットダウンと起動を統合したスクリプト:run.shは、アプリケーションを終了してからアプリケーションを起動し、ポート競合などの問題を起こさないように、継続的な統合システムでの繰り返し起動に適しています. システムサービス
Spring BootのMavenプラグインには、完全に実行可能なプログラムを構築する機能があります.どういう意味ですか?つまり、java-jarを使わずに直接jarを実行してもいいです.これにより、システムサービスをバックグラウンドで実行することができます.主な手順は以下の通りです. pom.xmlにSpring Bootのプラグインを追加し、executableの設定に注意してください. は、上記の構成を完了した後、mvn installを用いてパッケージ化し、実行可能なjarパケット を構築する.ソフト接続を作成します./etc/init.d/ディレクトリの下で ソフト接続の作成が完了したら、次のようにYOurap.jarアプリケーションに対して起動、停止、再起動を制御できます. 以上より、通常は以下のコマンドを使用すれば良いです.
転載先:https://www.cnblogs.com/sueyyyy/p/9958836.html
私たちはスプリングブックを起動する項目には三つの方法があると知っています.
次に、サーバーではどのようにバックグラウンドでspringbootプロジェクトを起動しますか?実際に実現する方法はいろいろあります.ここでは二つの方法を並べたほうがいいです.
nohupとShell
この方法は主にnohupコマンドを使用して実現され、このコマンドの詳細は以下の通りである.
nohupコマンド
用途:コマンドを切り離さずに実行します.
文法:nohup Command[Arg...][&]
説明:nohupコマンドは、Commandパラメータおよび任意の関連するArgパラメータによって指定されたコマンドを実行し、すべての切断(SIGHUP)信号を無視します.ログアウト後にnohupコマンドを使ってバックグラウンドのプログラムを実行します.バックグラウンドのnohupコマンドを実行して、コマンドの末尾に追加します.
例:
nohup java -jar xxx.jar &
このように実行すると、nohupは実行結果のログを現在のフォルダの下のnohup.outファイルに出力します.通常は上記のコマンドを使えばいいです. 手動でパラメータを指定してログファイルの出力先を指定してもいいです.nohup java -jar xxx.jar > catalina.out 2>&1 &
ログを出力する必要がない場合は、次のコマンドが使用できます.nohup java -jar xxx.jar >/dev/null &
だから、私達はnohup java-jar yourap.jar&コマンドを使うだけで、yourap.jarをバックグラウンドで運行させます.しかし、管理を便利にするために、私達はまたShellを通してアプリケーションを起動するためのスクリプトを作成することができます.#!/bin/bash
PID=$(ps -ef | grep yourapp.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill $PID
fi
#!/bin/bash
nohup java -jar yourapp.jar --server.port=8888 &
#!/bin/bash
echo stop application
source stop.sh
echo start application
source start.sh
Spring BootのMavenプラグインには、完全に実行可能なプログラムを構築する機能があります.どういう意味ですか?つまり、java-jarを使わずに直接jarを実行してもいいです.これにより、システムサービスをバックグラウンドで実行することができます.主な手順は以下の通りです.
org.springframework.boot
spring-boot-maven-plugin
true
sudo ln -s /var/yourapp/yourapp.jar /etc/init.d/yourapp
/etc/init.d/yourapp start|stop|restart
nohup java -jar xxx.jar &
転載先:https://www.cnblogs.com/sueyyyy/p/9958836.html