Spring Boot 部署
一.使用命令行java -jar 常駐
nohup java -jar spring-boot-1.0-SNAPSHOT.jar > log.file 2>&1 &
其中spring-boot-1.0-SNAPSHOT.jar
為上傳的jar包名
關閉通過ps -aux | grep spring 找到pid.用kill -9 [pid]結束進程
二.使用Linux服務的方式啟動、停止、重啟
1、首先在 pom.xml 中配置插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
特別注意一下 <executable>true</executable>
2、然后正常使用 mvn clean package -Dmaven.test.skip=true 將工程打成jar包
3、上傳jar包到服務器,假設部署路徑為 /var/apps/myapp.jar ,使用命令做一個軟連接到 /etc/init.d 目錄,命令:
ln -s /var/apps/myapp.jar /etc/init.d/myapp
其中 /etc/init.d/myapp
最后的 myapp 可以是別的名字,這個就是服務名,我們后面使用 service [服務名] start
來啟動(下面有說明)。
4、給jar文件授予可執行權限,命令:
chmod +x myapp.jar
5、接下來,就可以使用我們熟悉的 service myapp start|stop|restart|status
來對應用進行啟停了。
執行命令后將得到形如 Started|Stopped [PID] 的結果反饋。
默認PID文件路徑:/var/run/appname/appname.pid
默認服務日志文件路徑:/var/log/appname.log
(可以通過下面.conf 的方式修改LOG_FOLDER)
6、使用自定義的.conf文件來變更默認配置,方法如下:
在jar包相同路徑下創建一個.conf文件,名稱應該與.jar的名稱相同,如myapp.conf(如果我們打包的文jar文件為 myapp-1.0.0.jar 那么這里的conf文件也應該是 myapp-1.0.0.conf),其內容配置可以如下:
JAVA_HOME=/usr/local/jdk
JAVA_OPTS=-Xmx1024M
LOG_FOLDER=/data/logs/myapp
注:LOG_FOLDER 對應的文件夾目錄要必須存在,如果目錄不存在,服務並不會自從創建目錄。
華麗麗的分割線
如果你是CentOS 7或紅帽7以上,你還可以用下面的方法處理,為什么要用這樣的方法(請自行研究),這里直接提供結果,哈哈
編輯服務文件 vim /usr/lib/systemd/system/myapp.service
[Unit]
Description=frbao-publicity
After=network.target
[Service]
WorkingDirectory=/var/apps/myapp
ExecStart=/usr/local/java/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -jar /var/apps/myapp.jar
ExecStop=kill $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target
使用Linux 7 以后服務新的啟動方式,相關命令
啟動
systemctl start myapp
停止
systemctl stop myapp
重啟
systemctl restart myapp
查看日志
journalctl -u myapp