在文章的開始,我要說一句。哦買嘎
為什么這樣說呢,因為本人多次更改server.xml以及application.yml配置文件,老是無法完成部署,真心酸。再加上最近在面試,根本沒有時間來管理這個平台,着實很難受。
然而,在剛剛,終於好了,可以直接通過公網IP進行訪問應用了。原因是什么呢?(更改server.xml中的設置只通過重啟服務器是沒有用的,要直接重啟虛擬雲服務器才行,配置才會生效。我的天。)
吐槽也差不多了,上教程吧(此教程門檻為稍微懂服務器搭建,及部署應用的同學)
第一步,在IDEA上進行clean、install操作,生成war包:
一、在pom.xml中聲明為war打包:
<packaging>war</packaging>
二、禁用springboot中內置的tomcat,部署到外部的tomcat中(之前有一個面試官問我為什么禁用,而不直接用內置的?)
於是我立即查找了相關解釋:1.可以對tomcat進行優化和定制,比如修改配置文件;2.可能是打成jar包,開發環境需要重啟,如果部署tomcat可以減少重啟次數,公司估計不用docker 3.方便修改和降低內存占用吧,我打包成jar修改一點頁面東西費勁死,要是tomcat里面改下很快
所以我覺得在理
<!-- 排除內置tomcat容器,導出成war包可以讓外部容器運行spring-boot項目-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
三、這里插入一段:就是關於在application.prod.yml中配置服務器信息,其實是沒有效果的,因為它只針對本身自帶的tomcat,部署到外部容器中將無效果
四、進行clean、install項目(順序已經標注)
那么打包成war包之后,在控制台會輸出路徑,然后我們找到war包,然后復制
五、啟動Xshell、然后啟動Xftp,找到tomcat中webapps,將war包上傳服務器磁盤
六、修改config下的server.xml
1.修改內容:將默認的8080端口改成80端口,這樣就不需要輸入訪問端口了(80端口默認隱藏)
2.注意:綠色框默認為localhost,但是我們需要直接通過域名訪問,那么就可以直接將其改為域名(例如:www.changemax.cn),這里我沒有更改為域名,因為我的域名還在備案中。
紅色框為springboot應用在服務器上的絕對路徑地址值(如圖二)
這樣,我們的服務器部署就完成了,然后就可以重啟服務器了:
七、博主買的是百度雲的服務器,如果是其他平台的,操作過程也差不多,找找重啟選項就好了。
八、重啟之后,我們通過Xshell啟動一下tomcat服務器
啟動命令:/usr/local/java/tomcat9/bin/startup.sh
關閉命令:/usr/local/java/tomcat9/bin/shutdown.sh
只需要輸入命令就好了(注意不同tomcat的名稱命名及路徑問題)
顯示如下為成功:
九、訪問:
首次訪問的時候會啟動有一點時間,而且它會提示服務器拒絕訪問,但是大家不要認為失敗了,只要瀏覽器還在加載頁面中就沒失敗。過個幾分鍾,頁面就有了。之后就快了: