SpringBoot專案在linux系統中的部署(直接部署、外接tomcat中部署)以及配置https
利用SpringBoot內建tomcat直接部署
Spring Boot預設提供內嵌的Tomcat,所以打包直接生成jar包,用java -jar命令就可以啟動。
以下內容為在eclipse中針對SpringBoot多模組專案的操作:
1、修改子模組pom.xml,新增<packaging>jar</packaging>;
2、修改啟動模組(即web子模組)pom.xml,新增:
<!--多模組打包:只需在啟動類所在模組的POM檔案:指定打包外掛 -->
<build>
<plugins>
<plugin>
<!--該外掛主要用途:構建可執行的JAR -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3、右鍵parent父模組-->Run as-->Maven Clean
4、右鍵parent父模組-->Run as-->Maven Install
5、將target中的jar包放到伺服器下,執行java -jar /usr/local/jar/yichaoWeb.jar,啟動完成後即可訪問
nohup java -jar /usr/local/jar/yichaoWeb.jar //不掛機啟動
ps -ef | grep /usr/local/jar/yichaoWeb.jar //關閉
kill -9 5021
6、編寫啟停指令碼(附於文章最後),則可執行以下命令啟停:
chmod +x /usr/local/jar/jar.sh //賦予超管許可權
/usr/local/jar/jar.sh start
/usr/local/jar/jar.sh stop
/usr/local/jar/jar.sh restart
外接tomcat部署SpringBoot專案
1、tomcat解壓;
2、安裝JDK並配置環境變數;
3、修改子模組pom.xml,新增<packaging>war</packaging>;
4、將父模組pom.xml中整合tomcat依賴註釋;
5、打包成war包上傳至tomcat伺服器下的webapps目錄下;
6、啟動tomcat伺服器,war包會自動解壓執行
/usr/local/tomcat/bin/startup.sh //啟動
/usr/local/tomcat/bin/shutdown.sh //關閉
tomcat配置https
1、申請免費證照 https://freessl.cn
2、證照上傳至伺服器,將格式轉為jks
可參考阿里雲配置:https://help.aliyun.com/knowledge_detail/95505.html?spm=5176.2020520154.0.0.3e4756a72AjNyx
openssl pkcs12 -export -in full_chain.pem -inkey private.key -out tomcat.p12 -name tomcat
keytool -importkeystore -srckeystore tomcat.p12 -destkeystore server.jks -srcstoretype PKCS12 -deststoretype JKS
3、修改conf目錄下的server.xml檔案
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/server.jks" keystorePass="yichao"
/>
以上操作中踩的坑:
1、編譯打包的時候報錯
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
解決:在Windows-->preference-->java-->installed JREs-->add-->選擇本地JDK安裝目錄
2、linux中啟停指令碼執行報錯
#!/bin/bash: No such file or directory
解決:#vi /usr/local/jar/jar.sh,進入文字檢閱模式,輸入:set ff,檢視是否為unix格式,不是則輸入:set ff=unix,然後:wq回車返回
啟停指令碼:
#!/bin/bash
#這裡可替換為你自己的執行程式,其他程式碼無需更改
APP_NAME=/usr/local/jar/yichaoWeb.jar
#使用說明,用來提示輸入引數
usage() {
echo "Usage: sh 執行指令碼.sh [start|stop|restart|status]"
exit 1
}
#檢查程式是否在執行
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
nohup java -jar $APP_NAME >> catalina.out 2>&1 &
echo "...start OK!"
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
echo "...stop OK!"
else
echo "${APP_NAME} is not running"
fi
}
#輸出執行狀態
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
}
#根據輸入引數,選擇執行對應方法,不輸入則執行使用說明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
相關文章
- Linux系統安裝tomcat並部署專案。LinuxTomcat
- 在Linux系統中部署NodeJS專案LinuxNodeJS
- springboot 專案部署到外部tomcatSpring BootTomcat
- springboot專案部署到tomcat容器Spring BootTomcat
- Springboot專案部署到外部TomcatSpring BootTomcat
- 將java專案打包部署在linux系統上(配置成systemd)JavaLinux
- 在Linux中,如何使用指令碼進行系統配置和部署?Linux指令碼
- Centos8部署jdk、mysql8、tomcat,並部署專案到tomcat中CentOSJDKMySqlTomcat
- Tomcat部署web專案TomcatWeb
- 在tomcat中三種部署專案的方法Tomcat
- SpringBoot專案在IntelliJ IDEA中實現熱部署Spring BootIntelliJIdea熱部署
- SpringBoot專案如何打包部署到tomcat中去Spring BootTomcat
- Linux部署之Docker方式部署專案LinuxDocker
- Tomcat部署web專案流程TomcatWeb
- 把spring-boot專案部署到tomcat中的方法SpringbootTomcat
- Mongodb中replicaset的搭建以及部署MongoDB
- SpringBoot專案熱部署Spring Boot熱部署
- Docker部署SpringBoot專案DockerSpring Boot
- oracle在linux系統上的部署OracleLinux
- Python在Windows系統下基於Scrapyd部署爬蟲專案(本地部署)PythonWindows爬蟲
- Springboot2專案配置(熱部署+war+外部tomcat+外部配置檔案)Spring Boot熱部署Tomcat
- Tomcat 部署專案的三種方法Tomcat
- tomcat 部署多個專案的技巧Tomcat
- Hexo專案部署在Github上並配置域名HexoGithub
- 請問如何部署jboss中的配置檔案.
- Linux部署專案流程Linux
- 專案部署到LinuxLinux
- SpringBoot 監控、專案部署Spring Boot
- .net專案啟用https並部署HTTP
- 在linux上部署專案時遇到的坑Linux
- 快速部署tomcat專案的Shell指令碼Tomcat指令碼
- [部署02] Docker 部署vue專案DockerVue
- 如何打包部署一個tomcat專案Tomcat
- spring-boot專案的建立以及部署到外部tomcat的方法SpringbootTomcat
- SpringBoot專案部署到Linux端Tomcat伺服器上,並直接通過域名訪問應用Spring BootLinuxTomcat伺服器
- Centos7系統部署django專案CentOSDjango
- linux下部署 tomcatLinuxTomcat
- 將springboot部署到tomcatSpring BootTomcat