日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Boot项目(Maven\Gradle)三种启动方式及后台运行详解

發布時間:2024/10/8 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot项目(Maven\Gradle)三种启动方式及后台运行详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spring Boot項目三種啟動方式及后臺運行詳解

1 Spring Boot項目三種啟動方法

  • 運行Application.java類中的Main方法
  • 項目管理工具啟動
    • Maven項目:mvn spring-boot:run
    • Gradle項目:gradle run
  • 打包成Jar文件啟動:java -jar [項目名稱].jar
    • Maven項目:mvn package,在Target目錄下生成Jar包
    • Gradle項目:gradle build,在build/libs目錄下生成Jar包

2 Spring Boot項目后臺啟動

在項目開發階段,通常會使用前兩種方法啟動,而在部署的時候通常會使用第三種方法

然而java -jar [項目名稱].jar 命令只能在前臺運行項目,當執行其他操作或者關閉SSH會話時,項目運行終止

2.1 安裝配置nohup命令

nohup作用:使程序在服務器后臺執行,執行程序的命令不依賴ssh界面。
用法:nohup 需執行命令 &

  • 查詢nohup是否安裝
  • which nohup # 查看/usr/bin目錄下有沒有nohup命令
  • 下載安裝nohup
  • yum install coreutils
  • 查找下載的nohup
  • cd /usr/bin which nohup
  • 配置nohup路徑
  • vi ~/.bash_profile # .bash_profile# Get the aliases and functions if [ -f ~/.bashrc ]; then. ~/.bashrc fi# User specific environment and startup programsPATH=$PATH:$HOME/bin PATH=$PATH:/usr/bin export PATH
  • 立即生效配置
  • source ~/.bash_profile
  • 使用nohup命令
  • nohup [需要后臺執行的命令] &

    2.2 nohup命令

    • 用途:不掛斷的運行命令
    • 語法:nohup command [Arg...] [&]
    • 描述:nohup 命令由需要后臺執行的Command命令及其參數[Arg…]組成,忽略所有掛斷(SIGHUP)信號。
    • 示例:nohup java -jar xxx.jar &

    nohup會把執行結果中的日志輸出到當前文件夾下面的nohup.out文件中,通常情況下我們使用以上命令即可

    nohup java -jar xxx.jar > catalina.out 2>&1 & # 指定日志文件輸出地址 nohup java -jar xxx.jar >/dev/null & # 關閉日志輸出

    2.3 掛斷nohup命令

    ps -ef # 查看系統進程,并記下java -jar xxx.jar命令的PID kill -9 [PID] # 強制結束進程

    3 應用啟動、停止、重啟shell腳本

    • 啟動應用的腳本:start.sh
    #!/bin/bash nohup java -jar yourapp.jar --server.port=8888 &
    • 關閉應用的腳本:stop.sh
    #!/bin/bash PID=$(ps -ef | grep yourapp.jar | grep -v grep | awk '{ print $2 }') if [ -z "$PID" ] thenecho Application is already stopped elseecho kill $PIDkill $PID fi
    • 整合了關閉和啟動的腳本:run.sh,由于會先執行關閉應用,然后再啟動應用,這樣不會引起端口沖突等問題,適合在持續集成系統中進行反復調用。
    #!/bin/bash echo stop application source stop.sh echo start application source start.sh

    4 創建系統服務

    在Spring Boot的Maven插件中,還提供了構建完整可執行程序的功能,什么意思呢?就是說,我們可以不用java -jar,而是直接運行jar來執行程序。這樣我們就可以方便的將其創建成系統服務在后臺運行了。

    • 在pom.xml中添加Spring Boot的插件,并注意設置executable配置
    <build><plugins><plugin><groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration><executable>true</executable></configuration></plugin></plugins> </build>
    • 在完成上述配置后,使用mvn install進行打包,構建一個可執行的jar包
    • 創建軟連接到/etc/init.d/目錄下
    sudo ln -s /var/yourapp/yourapp.jar /etc/init.d/yourapp
    • 在完成軟連接創建之后,我們就可以通過如下命令對yourapp.jar應用來控制啟動、停止、重啟操作了
    /etc/init.d/yourapp start|stop|restart

    總結

    以上是生活随笔為你收集整理的Spring Boot项目(Maven\Gradle)三种启动方式及后台运行详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。