1. 程式人生 > >如何讓外網的使用者訪問自己Tomcat專案

如何讓外網的使用者訪問自己Tomcat專案

上篇文章學習如何讓區域網中的使用者訪問自己的Tomcat專案,這篇文章學習如何讓外網的使用者訪問自己的Tomcat。僅是使用免費的埠對映軟體來簡單的實現,這裡我知道的有兩種工具,第一種我昨天晚上發現的,第二種早上寫部落格時候才發現的,不過第二種可以擁有自己的域名,下面來介紹這兩種工具。

1.ngrok
官網:https://ngrok.com 進入官網註冊,下載客戶端。
註冊成功,點選左側的Auth,可以看到你的授權碼
在這裡插入圖片描述

開啟下載的客戶端軟體
命令列輸入 ngrok authtoken 授權碼(你自己的授權碼) 你的授權碼就會儲存在~/.ngrok2/ngrok.yml,因此只需輸入一次,如果輸入錯誤,下一步就會報錯。
命令列接著輸入 ngrok http 8080(你要對映的埠號,Tomcat預設埠號為8080)。如果你上一步輸入的授權碼正確,就會看到你的域名了。
這樣127.0.0.1:8080埠對映到了這個域名,還是非常的簡單的,不過這個有一個缺點就是每次啟動ngrok進行對映埠,都會給你重新分配一個域名。那麼接下來介紹的就有一個固定的域名。

2.EchoSite:
進入官網 https://echosite.2bdata.com 註冊賬號,進行域名搶注,可以選擇你自己喜歡的字首。
註冊就送你3個月的免費域名使用期限,之後一元一個月,還是可以的。
點選客戶端下載,下載配置檔案和客戶端。將解壓之後的客戶端以及配置檔案放在問一個資料夾下。
接著修改配置檔案。
在這裡插入圖片描述 其中subdomain(子域):就是你剛剛申請的域名的字首。
http:127.0.0.1代表本地 8080(修改為Tomcat預設埠)。
可以看到tunnels標籤中有多個name,因此可以設定多種對映關係。
接著開啟客戶端鍵入命令 echosite -config=echosite.yml start name1
在這裡插入圖片描述


當然也可以是name2,name3,所以上面多個name的作用就來了。

鍵入命令後,出現tunnel status online 說明對映成功。
此時,http:127.0.0.1:8080對映到你自己的域名上去了。

3.最後介紹兩種通過設定Tomcat的server.xml配置檔案來任意存放你的部署檔案的方法。
①靜態部署:
Tomcat的Webapps目錄是Tomcat的預設目錄。可以看到server.xml配置檔案中有以下內容:
在這裡插入圖片描述

webapps這個預設目錄是可以改變的,通過修改appBase即可,將webapps修改你指定的釋出目錄即可。
但是這樣無法訪問Tomcat主頁了,瀏覽器輸入localhost:8080報錯404

②在server.xml配置檔案中指定:
開啟server.xml檔案,在Host標籤內建一個Context,內容如下:
在這裡插入圖片描述
這種方法便可以訪問Tomcat主頁的
說明:
pah為虛擬路徑,如果將path設定為“/myapps”,那麼瀏覽器訪問時localhost:8080後來必須要加上/myapps,即localhost:8080/myapps/(這樣可以訪問Tomcat主頁)。當然也可以將path設定為“/”,那麼只需輸入localhost:8080/ + 專案名就可以訪問專案了(這樣就無法訪問Tomcat主頁)。
docBase是應用程式的物理路徑,就是你存放整合專案資源包的路徑。
workDir是這個應用的工作目錄,存放執行時生成的與這個應用相關的檔案。
debug是設定debug level,0表示提供最少的資訊,9表示提供最多的資訊。
privileged設定為true的時候,才允許Tomcat的Web應用使用容器內的Servlet。
reloadable設定為true是為了實現熱部署。Tomcat會自動檢測應用程式的/WEB-INF/lib 和classes目錄的變化,自動裝載新的應用程式,可以在不重啟Tomcat的情況下改變應用程式,實現熱部署。

可以看到讓外網的使用者訪問自己的Tomcat專案還是比較簡單,只需要使用軟體將自己的localhost:8080對映到指定的域名就可以了。