今天來簡單講講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買的
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiYWan5yaj9mbr9CX0xWdhZWZk9CX09Wbl9lcvRXakVGa49CXy9GdpRWZoh3LcRXZu5ibkN3Yuc2bsJmLjlGdhR3cvw1LcpDc0RHaiojIsJye.gif)
)
(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檔案夾即可)。
至此,一切完工!
(上述不足之處望大家指出!)
歡迎轉載,轉載請注明出處!
https://blog.csdn.net/zyp689/article/details/56835166#commentBox
略作補充 https://blog.csdn.net/wangl2014/article/details/79082076