javascript
spring项目搭建云服务器,Spring Boot项目打包并部署到云服务器
Spring Boot項目打包并部署到云服務(wù)器
一、云服務(wù)器的環(huán)境
OS: CentOS 7
Jdk 1.8
Spring Boot自動集成Tomcat,不需要單獨配置
二、本地Spring Boot項目打包
我使用的工具是IntelliJ IDEA。打包之前先確保MAVEN配置正確。在cmd出口中輸入:mvn用來檢查是否配置正確。
然后在項目的pom.xml文件中加入以下依賴(在之前)。
org.springframework.boot
spring-boot-maven-plugin
repackage
進(jìn)行打包命令:mvn clean package
如果IDEA自帶的終端出現(xiàn):mvn不是內(nèi)部或外部命令,也不是可運(yùn)行的程序 或批處理文件。可以使用cmd(管理員運(yùn)行)進(jìn)入項目位置。在執(zhí)行命令。
打包完成以后會在項目的target文件夾下生成cms-1.0-SNAPSHOT.jar這樣的JAR包。
然后將jar包、數(shù)據(jù)庫文件、啟動腳本放在一個文件夾內(nèi)上傳到云服務(wù)器。我的是放在:``/usr/server/cms`
啟動腳本可以下載,藍(lán)奏云地址:? 啟動腳本
也可以自己新建一個文本文檔命名為:catalina.sh,然后復(fù)制以下內(nèi)容。JAR包的名稱需要自己修改。
#!/bin/bash
#這里可替換為你自己的執(zhí)行程序
APP_NAME=cms-1.0-SNAPSHOT.jar
#使用說明,用來提示輸入?yún)?shù)
usage() {
echo "Usage: sh 執(zhí)行腳本.sh [start|stop|restart|status]"
exit 1
}
#檢查程序是否在運(yùn)行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#啟動方法
start(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
BUILD_ID=dontKillMe
nohup java -jar $APP_NAME > ./catalina.log &
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#輸出運(yùn)行狀態(tài)
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
#重啟
restart(){
stop
start
}
#根據(jù)輸入?yún)?shù),選擇執(zhí)行對應(yīng)方法,不輸入則執(zhí)行使用說明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
三、啟動Spring Boot服務(wù)
首先在云服務(wù)器安裝Java,建議與本地Java版本一致。可以參考:? CentOS 7搭建Java開發(fā)平臺——Java 8
然后進(jìn)入jar包的存放位置,添加權(quán)限:(我的是在/usr/server/cms下執(zhí)行)
chmod 777 * .
啟動:在jar包的目錄下執(zhí)行
./catalina.sh start
查看啟動日志:
tail -f catalina.log
四、測試結(jié)果
查看啟動日志,沒有報錯以后可以用Postman或者瀏覽器測試結(jié)果
image
總結(jié)
以上是生活随笔為你收集整理的spring项目搭建云服务器,Spring Boot项目打包并部署到云服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jvm之方法内联优化
- 下一篇: 如何防止token被拦截_Spring