聊一聊Tomcat管理頁(yè)面各類(lèi)型配置
概述
大部分時(shí)候,我們的tomcat服務(wù)器都不是部署在本機(jī),那么怎么樣不通過(guò)ftp/sftp方式來(lái)將war包部署到tomcat容器呢?tomcat有提供web頁(yè)面管理應(yīng)用的功能。
tomcat頁(yè)面管理
進(jìn)入tomcat默認(rèn)頁(yè)面時(shí)有“server status”、“manager app”、“Host manager”三個(gè)選項(xiàng)如圖:

默認(rèn)情況下,點(diǎn)擊會(huì)跳轉(zhuǎn)到403 Access Denied報(bào)錯(cuò)頁(yè)面

(如果是tomcat7按下面第1個(gè)配置就行了,tomcat8需要配置1和2)
1、配置用戶(hù)密碼
修改$
- <role rolename="manager"/>
- <role rolename="manager-gui"/>
- <role rolename="admin"/>
- <role rolename="admin-gui"/>
- <user username="tomcat" password="tomcat" roles="admin,manager,manager-gui,admin-gui"/>

2、修改配置
如無(wú)新建$
TOMCAT_HOME/conf/Catalina/localhost/manager.xml 內(nèi)容如下:
- <Context privileged="true" antiResourceLocking="false"
- docBase="${catalina.home}/webapps/manager">
- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
- </Context>

無(wú)須重啟tomcat即可生效。


點(diǎn)擊“select WAR file to upload”后面的“瀏覽”按鈕,選擇需要發(fā)布的war包后,點(diǎn)擊“deploy”,war即可發(fā)布成功。部署是否成功,需要關(guān)注頭部的“Message: ”內(nèi)容。

但是如果該war包已經(jīng)在服務(wù)器上部署,則需要在頁(yè)面中找到該應(yīng)用,點(diǎn)擊“undeploy”先取消部署。
通過(guò)以上配置后,基本上在發(fā)布版本的時(shí)候不會(huì)有什么問(wèn)題,增加這個(gè)配置的好處就是當(dāng)持續(xù)集成的服務(wù)器與tomcat不在同一服務(wù)器時(shí),可以通過(guò)配置,實(shí)現(xiàn)自動(dòng)部署
3、修改上傳大小限制
在實(shí)際的項(xiàng)目過(guò)程中會(huì)發(fā)現(xiàn)war包的大小往往達(dá)到幾十上百M(fèi),這時(shí)發(fā)布會(huì)出現(xiàn)失敗,原因是tomcat默認(rèn)最大只允許上傳50M的文件,這時(shí)候需要去修改webapps\manager\WEB-INF\web.xml文件
找到
- <multipart-config>
- <!-- 50MB max -->
- <max-file-size>52428800</max-file-size>
- <max-request-size>52428800</max-request-size>
- <file-size-threshold>0</file-size-threshold>
- </multipart-config>
一段(大概在53行),將max-file-size、max-request-size值增大即可。

4、配置白名單
修改配置文件$
- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
- allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|172\.\d+\.\d+\.\d+|192\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

5、訪(fǎng)問(wèn)host manager
如果要訪(fǎng)問(wèn)host manager,還需要修改
webapps/host-manager/META-INF/目錄下的context.xml文件,修改內(nèi)容和上面一樣。
保存,然后重啟tomcat,重新訪(fǎng)問(wèn)server status、manager app頁(yè)面,輸出上面設(shè)置的用戶(hù)名和密碼,即可訪(fǎng)問(wèn)頁(yè)面。
- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
- allow="^.*$" />

