使用Tomcat搭建一個可以通過公網訪問的服務器(轉)


轉自:http://wenku.baidu.com/link?url=kGLhiO1xiiepXa9Q2OJDmm6Zr8dQmpSYYPVTFmc3CZtD6Z7HvFi2miCYDiQdTYF2TYIpSvp93STFFoLv1yP6OG25OjVDHn11y2BHFvlYJLG

我們平常學習時經常會寫一下javaweb程序,我們為了更能逼近現實,就想着自己的javaweb程序發布后,外網的同學能夠訪問我們的網站,難道我們去買空間,去買域名嘛,其實也沒必要,我們只是學習,測試之用,在自己的電腦上搭建一個服務器完全可以滿足要求。上次寫的一篇博客,PC服務端與Android客戶端實現網絡通信,就是利用這個原理。
我們分為三步走來實現:(我這里用的示例javaweb程序是我自己簡單寫的一個小程序shop1)

 

1.
我們用Tomcat服務器,如果我們的javaweb程序已經部署到了Tomcat服務器,一般我們在本地訪問的地址為:localhost:8080/shop1,localhost指本機,即127.0.0.1,8080端口號,shop1你部署的項目名稱,但太過繁瑣,我們只想通過IP地址來訪問我們的項目,即127.0.0.1或者localhost,我們只需修改一下Tomcat的配置即可,打開Tomcat所在的目錄,打開conf文件夾,打
開server.xml文件,所要修改的部分如下:

<Connector port="80" protocol="HTTP/1.1"  
  
               connectionTimeout="20000"  
  
               redirectPort="8443" />  
  
<Context path="" docBase="shop1" reloadable="true" />  

即將port從原先的8080修改成80,因為http協議的默認端口是80,這樣你就可以不用再輸端口號了,把docBase="shop1"的值修改成你所部屬的項目的名稱,默認指向你的項目,這樣你就可以不輸項目的名稱了。

 

2.
上一步我們只實現了自己訪問,但如何讓外網的同學訪問,這里可能涉及了簡單的網絡知識,我網絡學的也不是很好。就說的比較通俗一點。有兩種情況:

(1).你上網沒有用路由,運營商單獨分給你一個IP地址,那你直接可以用你的IP讓外網的同學來訪問你的網站,我們這里用的是8080端口,所以形式為:XX.XX.XX.XX:8080。為了讓多的同學了解,我在啰嗦一下,怎么知道自己的IP地址,你不必用在cmd命令行輸入ipconfig這種略顯專業的方法去獲取,其實只要在百度搜索“IP查詢”,第一個就是。
(2).用了路由器,一個路由器帶了好幾台電腦,比如說跟室友,這就需要你去路由管理頁面去設置一下,端口映射,讓別人訪問你們的IP地址時,映射到你的電腦,在瀏覽器中輸入192.168.1.1(以你的路由為准),進入路由管理頁面,操作如下圖:

 
 
轉發規則-----虛擬服務器-------添加新條目
 
 

端口我們沒改,所以填8080,IP地址為你的電腦在局域網中的地址,怎么樣知道自己的局域網中的地址,很簡單自己百度一下,只要局域網里的電腦不是太多,一般為192.168.1.XXX,我這里為192.168.1.101,然后點擊保存,OK,然后外網就可以用你們IP去訪問你的網站了!
我的效果圖如下:

 
 

這時可以把這個網址發給你的同學,試一下,他能不能訪問你的網站,答案是肯定的!

3,
但是又有新問題了,你第二天打開路由,或者再次上網時,運營商會重新分配給你一個新的IP地址,難道你讓你同學訪問時,再次把這個IP地址發給他嗎?顯然這是不合理了。
此時,我們就想有一個動態域名多好。這里給大家介紹一款軟件“花生殼”,下載安裝,然后注冊后,你就會獲得一個免費的二級域名,每次開機自啟后,就會將花生殼服務端中的IP數據更新成你新的IP地址,然后你每次用你固定的域名來訪問時,就會解析到你新的IP地址。
如下圖:

 
 
雙擊你的域名,看有沒有顯示出“經檢測,您的域名已激活並指向正確”!

OK,到這里,沒有路由的同學,就可以直接用你的域名訪問了!

有路由的同學,還得多操作一步:
再次進入路由管理頁面,操作如下圖:

 
 
點擊“動態DNS”,這時如果你的上述操作都沒問題的話,服務提供者那一欄已經自動填充成花生殼的網址了,然后輸入用戶名,密碼,點擊登錄,如果顯示為“連接成功”,那點擊“保存”。

到這里,終於大功告成,看一下最終效果圖:

 
 

可以看到,我用我的域名成功的訪問到了我的網站。
PS:有時顯示“驗證成功”時也是個假象,一點擊“保存”時,又顯示為“驗證失敗”,再點擊“登錄”,多點擊幾次“保存”,直到它一直顯示為“驗證成功”即可,反正就是多試幾次。

 

注:如果沒有外網服務器的話,從外網訪問需要借助一些端口映射軟件的,網上找了一個開源的holer簡單配置一個key就實現從外網訪問了
https://github.com/Wisdom-Projects/holer


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM