聊一聊Tomcat管理頁面各類型配置
概述
大部分時候,我們的tomcat服務器都不是部署在本機,那么怎么樣不通過ftp/sftp方式來將war包部署到tomcat容器呢?tomcat有提供web頁面管理應用的功能。
tomcat頁面管理
進入tomcat默認頁面時有“server status”、“manager app”、“Host manager”三個選項如圖:

默認情況下,點擊會跳轉到403 Access Denied報錯頁面

(如果是tomcat7按下面第1個配置就行了,tomcat8需要配置1和2)
1、配置用戶密碼
修改$
- <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、修改配置
如無新建$
TOMCAT_HOME/conf/Catalina/localhost/manager.xml 內容如下:
- <Context privileged="true" antiResourceLocking="false"
- docBase="${catalina.home}/webapps/manager">
- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
- </Context>

無須重啟tomcat即可生效。


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

但是如果該war包已經在服務器上部署,則需要在頁面中找到該應用,點擊“undeploy”先取消部署。
通過以上配置后,基本上在發布版本的時候不會有什么問題,增加這個配置的好處就是當持續集成的服務器與tomcat不在同一服務器時,可以通過配置,實現自動部署
3、修改上傳大小限制
在實際的項目過程中會發現war包的大小往往達到幾十上百M,這時發布會出現失敗,原因是tomcat默認最大只允許上傳50M的文件,這時候需要去修改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、訪問host manager
如果要訪問host manager,還需要修改
webapps/host-manager/META-INF/目錄下的context.xml文件,修改內容和上面一樣。
保存,然后重啟tomcat,重新訪問server status、manager app頁面,輸出上面設置的用戶名和密碼,即可訪問頁面。
- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
- allow="^.*$" />

