URL訪問地址和Tomcat項目部署中不得不說的小祕密

轉自:http://blog.csdn.net/zyp689/article/details/56835166


今天來簡單講講tomcat項目部署和url地址訪問欄的關係,順便和大家分享下,敘述不當之處,還請大家多多指導!


衆所周知,Tomcat項目發佈的默認訪問地址格式如下:http://localhost:8080/MyDemo/index.jsp

由於web.xml配置了 <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>歡迎頁面,通常我們只需要訪問:http://localhost:8080/MyDemo

然而該地址實在是low爆了,爲衆人所不喜,於是我決定帶大家簡單優化下:


先簡單說說tomcat發佈項目:(部分“猿”友請跳過這段)

1、WAR打包

首先通過MyEclipse/Eclipse進行打包爲.war文件,具體操作爲:選中項目右擊---導出--選擇JavaEE/WAR file--選擇項目和導出位置--finish,至此打包完成。


2、項目部署

打開並編輯D:\JavaTools\Tomcat\apache-tomcat-7.0.73\server.xml文件,在<host>...</host>標籤內添加如下:

<Context path="/MyDemo" docBase="D:\JavaTools\Tomcat\apache-tomcat-7.0.73\webapps\MyDemo.war" debug="0"  privileged="true" reloadable="true"/>

注意:path是指明項目訪問時工程名稱,docBase是項目存放地址,其他屬性不建議修改。

此處我將MyDemo.war放在webapps下(大家可以根據個人喜好放任意位置),完成後保存。

當前狀態webapps文件夾下有默認文件docs  examples  host-manager manager ROOT ,還有項目文件 MyDemo.war,而work文件夾下爲空(此時webapps和work文件夾下如果有其他,均可刪除)

注意事項:

如果不配置<Context>標籤,由於沒有docBase指明項目位置,則項目必須放在host配置中對應的appBase地址下(如webapps),Tomcat啓動時會加載webapps下所有項目,且沒有path指引時,默認指引是項目名稱。如果配置了就一定要配正確,tomcat找不到項目會報錯。webapps下的項目訪問一定要有項目名稱,否則會訪問Tomcat主頁(因爲Tomacat主頁是ROOT文件夾下的)


3、項目測試

啓動Tomcat:雙擊apache-tomcat-7.0.73\bin\startup.bat

當前狀態webapps文件夾下多了一個解壓後的MyDemo文件夾(原項目文件),work文件夾下有初始化生成的\work\Catalina\localhost文件夾,裏面有 _   docs  example  host-manager  manager  MyDemo(空文件夾,還未編譯) 

輸入url訪問項目:http://localhost:8080/MyDemo

當前狀態work中的MyDemo(非空文件夾,部分編譯)

4、關於登陸tomcat首頁進行項目管理

配置tomcat-users.xml文件新建管理賬戶:

打開Tomcat安裝目錄下面的conf文件夾下的tomcat-users.xml如右    D:\JavaTools\Tomcat\apache-tomcat-7.0.73\conf\tomcat-users.xml

然後用記事本打開編輯,添加自定義管理用戶

<user username="admin" password="admin" roles=" admin-gui , manager-gui "/>

然後保存,

登陸tomcat首頁--點擊右上方的Manager App按鈕,輸入帳號密碼(如上tomcat-users.xml配置),即可進入管理頁面。


/**********************************************跳過上面鋪墊,我們開始主題部分*******************************************/


1、去除:8080端口號

編輯server.xml文件,找到

<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

將port="8080"改爲80端口,只有默認的80端口可以省略(瀏覽網頁服務默認的端口號都是80,因此只需輸入網址即可,不用輸入“:80”)

<部分網友的80端口可能被其他程序佔用,解決如下>

ctrl+alt+enter以超級管理員運行cmd,輸入

 netstat  -anb                          查找到80被佔用的程序名稱和服務

然後輸入 

taskkill /f   程序名.exe           關閉後臺程序

輸入

net  stop  服務名稱               關閉服務

2、將"localhost"改爲類似"www.zyp168.com"             

(注意此處即便改了實際ip還是127.0.0.1,實際域名是要money買的敲打)


(1)編輯 C:\Windows\System32\drivers\etc\hosts 文件(請設置權限爲完全控制,否則無法修改)

在 127.0.0.1  localhost   後面添加一行   127.0.0.1    www.zyp168.com 

(2)編輯 D:\JavaTools\Tomcat\apache-tomcat-7.0.73\conf\server.xml文件

在默認host配置:

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"></host>

後面再添加一個host標籤(保留原來的默認localhost)

  <Host name="www.bbs.zyp168.com"  appBase="myapp" unpackWARs="true" autoDeploy="true"> 

自定義文件夾myapp全路徑    D:\JavaTools\Tomcat\apache-tomcat-7.0.73\myapp


此處直接將項目放入myapp中所以不配置

<Context path="/MyDemo" docBase="D:\JavaTools\Tomcat\apache-tomcat-7.0.73\myapp\MyDemo.war" debug="0"  privileged="true" reloadable="true"/>

啓動發現可以通過http://www.zyp168.com/MyDemo訪問。吐舌頭


注意:在myapp中部署的項目可以使用 www.zyp168.com進行訪問(在webapps中部署的項目不可以,因爲它對應的host爲localhost)

當前狀態發現work文件夾下面有兩個目錄:


work\Catalina\localhost  

work\Catalina\www.zyp168.com         (該文件夾下僅有MyDemo , 之前webapps下有些東西是否多餘?大笑呵呵,不錯,但不建議刪,是範例等等)

且兩個文件夾互不干擾,而自定義文件夾myapp僅僅生成了MyDemo(解壓文件)


3、去項目名稱

http://www.zyp168.com/MyDemo   ------------>   http://www.zyp168.com

看上述Tomcat的項目部署我們發現,直接訪問不加項目名稱時是Tomcat主頁,我們可以在webapps下面的ROOT下找到項目主頁可以得出結論,不加項目名稱默認訪問ROOT下的項目,故我們直接將myapp下的war文件名稱改爲ROOT.war即可(不打包的話,直接拷貝項目源代碼到myapp下並重命名爲ROOT文件夾即可)。


至此,一切完工!大笑(上述不足之處望大家指出!)

歡迎轉載,轉載請註明出處!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章