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コマンドを実行して、コマンドの末尾に追加します.
    例:
    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を通してアプリケーションを起動するためのスクリプトを作成することができます.
  • アプリケーションを閉じるスクリプト:stop.sh
    #!/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
  • アプリケーションを開始するスクリプト:start.sh
    #!/bin/bash
    nohup java -jar yourapp.jar --server.port=8888 &
  • は、シャットダウンと起動を統合したスクリプト:run.shは、アプリケーションを終了してからアプリケーションを起動し、ポート競合などの問題を起こさないように、継続的な統合システムでの繰り返し起動に適しています.
    #!/bin/bash
    echo stop application
    source stop.sh
    echo start application
    source start.sh
  • システムサービス
    Spring BootのMavenプラグインには、完全に実行可能なプログラムを構築する機能があります.どういう意味ですか?つまり、java-jarを使わずに直接jarを実行してもいいです.これにより、システムサービスをバックグラウンドで実行することができます.主な手順は以下の通りです.
  • pom.xmlにSpring Bootのプラグインを追加し、executableの設定に注意してください.
     
       
         
          org.springframework.boot  
          spring-boot-maven-plugin  
           
            true 
           
         
       
    
  • は、上記の構成を完了した後、mvn installを用いてパッケージ化し、実行可能なjarパケット
  • を構築する.
  • ソフト接続を作成します./etc/init.d/ディレクトリの下で
    sudo ln -s /var/yourapp/yourapp.jar /etc/init.d/yourapp
  • ソフト接続の作成が完了したら、次のようにYOurap.jarアプリケーションに対して起動、停止、再起動を制御できます.
    /etc/init.d/yourapp start|stop|restart
    
     
  • 以上より、通常は以下のコマンドを使用すれば良いです.
    nohup java -jar xxx.jar &
    
      
     
    転載先:https://www.cnblogs.com/sueyyyy/p/9958836.html