spring boot 應用程序在 linux 下的 部署及運行

SpringBoot 應用程序在 linux 下的部署及運行

將 spring boot 應用程序打包成 jar 包

咱們使用 spring boot 的 maven 插件來構建管理整個應用程序,使用 mvn package 將應用程序打包成一個 jar 包

將 該 jar 包上傳到 服務器

上傳到服務器大體有兩種方式(常見的):1)經過 xftp 這種方式;2)本文將要介紹的這種,我不太建議使用 xftp,由於它太常見了,不新奇,
說說第二種方式吧:首先咱們在 linux 服務器上,下載 lrzsz 插件,命令爲: yum -y install lrzsz,而後上傳文件就輸入命令: rz -y -y 表示強制覆蓋原有文件(建議使用), rz 表示上傳,固然了, sz 就表示下載嘍。以後就會打開一個 windows 的文件資源管理器窗口,你選擇目標 jar 包便可實現上傳(前提,選擇好你的上傳目錄)

運行

上傳到服務器的指定位置了,接下來就是如何運行了!
咱們都知道,java 程序在你本地運行時就是選擇好入口 main,而後運行便可。可是在 linux 上就不是那麼簡單了。
大體呢有兩種:一種是直接手動啓動;一種是經過寫一個腳本文件來啓動。
直接啓動:java

java -jar 目標.jar >> catalina.out 2>&1 &,什麼意思呢?就是將 tomcat(spring-boot-starter-web 自帶 tomcat) 的啓動內容 標準錯誤流重定向到標準輸出流(2 >&1),而且以在後臺運行的形式去運行(&)。
腳本啓動

編寫啓動腳本linux

\#!/bin/bash
PROJECTNAME=目標jar名稱(不須要帶.jar)
pid=`ps -ef |grep $PROJECTNAME |grep -v "grep" |awk '{print $2}'`
if [ $pid ]; then
​    echo "$PROJECTNAME  is  running  and pid=$pid"
else
   echo "Start success to start $PROJECTNAME ...."
   nohup java -jar 目標.jar  >> catalina.out  2>&1 &
fi

在該 .sh(腳本文件)中,使用到了命令 nohup java -jar ... nohup 就是 no hangup(不掛起),即 即便用戶登出,
關閉終端後,該進程還會繼續運行;採用 nohup 命令後,那麼就會在當前腳本所在的同級目錄下生成一個 nohup.out 的文件,
該文件就記錄了整個應用啓動過程以及以後運行中的全部日誌內容(由於咱們是將 2 標準錯誤 做爲輸出內容的,
而標準錯誤默認是包括全部的輸出內容+錯誤內容)。以後你只須要運行這個腳本便可啓動應用程序啦:./start.sh
若是你想查看一下日誌內容,你能夠輸入:vi nohup.out,或者你只想查看最後幾行內容:tail -f nohup.out便可。web

腳本關閉

編寫關閉腳本:
其實咱們通常是不須要關閉腳本的,由於咱們一般是這樣操做的:進入到該應用程序所在的目錄:
ps aux | grep javaps -ef | grep java 兩者並無什麼太大的區別,看你喜歡用哪一個命令了,
而後找到該應用程序的 pid, 而後 kill -g 該pid 就殺死這個進程了。可是其實這樣很麻煩,
你習慣了還好,通常我仍是建議你使用 關閉腳本的spring

\#!/bin/bash
PROJECTNAME=目標

pid=`ps -ef |grep $PROJECTNAME |grep -v "grep" |awk '{print $2}' `

if [ $pid ]; then

​    echo "$PROJECTNAME is  running  and pid=$pid"

​    kill -9 $pid

​    if [[ $? -eq 0 ]];then

​       echo "sucess to stop $PROJECTNAME "

​    else

​       echo "fail to stop $PROJECTNAME "

​     fi

fi

通常目錄結構就是以下圖所示:
圖片描述windows

我實際中用的這個啓動腳本內容以下:tomcat

圖片描述

ps:至於有人說的可能須要在 pom.xml 中指定 入口類,我持保留意見bash

- 2019-05-31 17:46

聲明

原創手敲不易,轉載請註明出處,謝謝。我是 拉丁小毛,歡迎你們關注我哦,一塊兒交流,共同進步。有問題能夠 郵我哦(util.you.com@gmail.com)
相關文章
相關標籤/搜索