大部分時候,我們的tomcat服務(wù)器都不是部署在本機(jī),那么怎么樣不通過ftp/sftp方式來將war包部署到tomcat容器呢?tomcat有提供web頁面管理應(yīng)用的功能。
進(jìn)入tomcat默認(rèn)頁面時有“server status”、“manager app”、“Host manager”三個選項如圖:
默認(rèn)情況下,點擊會跳轉(zhuǎn)到403 Access Denied報錯頁面
(如果是tomcat7按下面第1個配置就行了,tomcat8需要配置1和2)
修改$TOMCAT_HOME/conf/tomcat-users.xml
如無新建$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>
無須重啟tomcat即可生效。
點擊“select WAR file to upload”后面的“瀏覽”按鈕,選擇需要發(fā)布的war包后,點擊“deploy”,war即可發(fā)布成功。部署是否成功,需要關(guān)注頭部的“Message: ”內(nèi)容。
但是如果該war包已經(jīng)在服務(wù)器上部署,則需要在頁面中找到該應(yīng)用,點擊“undeploy”先取消部署。
通過以上配置后,基本上在發(fā)布版本的時候不會有什么問題,增加這個配置的好處就是當(dāng)持續(xù)集成的服務(wù)器與tomcat不在同一服務(wù)器時,可以通過配置,實現(xiàn)自動部署
在實際的項目過程中會發(fā)現(xiàn)war包的大小往往達(dá)到幾十上百M,這時發(fā)布會出現(xiàn)失敗,原因是tomcat默認(rèn)最大只允許上傳50M的文件,這時候需要去修改webapps\manager\WEB-INF\web.xml文件
找到
一段(大概在53行),將max-file-size、max-request-size值增大即可。
修改配置文件$TOMCAT_HOME/webapps/manager/META-INF/context.xml
<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' />
如果要訪問host manager,還需要修改webapps/host-manager/META-INF/目錄下的context.xml文件,修改內(nèi)容和上面一樣。
保存,然后重啟tomcat,重新訪問server status、manager app頁面,輸出上面設(shè)置的用戶名和密碼,即可訪問頁面。
后面會分享更多devops和DBA方面的內(nèi)容,感興趣的朋友可以關(guān)注下~