SpringBoot專案部署到Linux端Tomcat伺服器上,並直接通過域名訪問應用

第二顆大白菜發表於2019-03-12

在文章的開始,我要說一句。哦買嘎

 

 

為什麼這樣說呢,因為本人多次更改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的名稱命名及路徑問題)

顯示如下為成功:

 

九、訪問:

首次訪問的時候會啟動有一點時間,而且它會提示伺服器拒絕訪問,但是大家不要認為失敗了,只要瀏覽器還在載入頁面中就沒失敗。過個幾分鐘,頁面就有了。之後就快了:

相關文章