Tomcat6.0 管理器配置


最近忙着畢業答辯,填寫材料,好多事情都給耽擱了!一個月都沒有繼續翻譯tomcat,這回有點時間趕緊補上。

這部分,其實對開發者或者tomcat管理者來說,只要會登錄頁面管理器或者使用寫簡單的http就可以了,如果想要通過java方法調用,那還需要看一些API:

  這里就簡單介紹下如何通過頁面進行tomcat的管理

Tomcat管理器是什么?

  tomcat經過不斷的沉淀,不僅僅是個JSP和Servlet的容器,它也可以當做一個生產環境的服務器來使用,國外的很多大型企業也都有使用Tomcat的例子。

  因此,對於生產環境的web服務器來說,在不關閉或者重啟服務器的情況下,部署或者停止某些應用是很必要的。

  通過tomcat管理器就可以做到這一點。

  因此,為了支持這個功能,tomcat在默認的下載包中webapps目錄下包含了一個manager應用(這個是默認就有的)。

  用戶就是通過訪問這個應用,來控制其他的應用的。

  這個應用主要包括以下的 功能 

  1 根據上傳的war包部署文件

  2 通過配置上下文路徑,部署文件

  3 列出當前所有部署的應用,以及其會話信息

  4 當/WEB-INF/classes和/WEB-INF/lib有修改時,重新加載應用

  5 列出系統以及JVM的屬性值

  6 列出可用的JNDI資源

  7 列出數據庫中的安全角色

  8 開啟關閉應用

  9 關閉正在運行的應用

  10 解除應用的部署,刪除其目錄

如何配置tomcat管理器?

  tomcat支持多種管理方式:

  1 manager-gui 通過html頁面管理(由於管理器應用使用CSRF方式配置,所以使用了這種方式,就無法使用2、3方式

  2 manager-script 通過文本管理

  3 manager-jmx 通過JMX管理

  4 manager-status 通過只讀接口管理

  其中通過web頁面也就是GUI來管理tomcat的大體過程如下:

  由於管理器manager應用,不是任何人都可以登錄的,因此需要配置用戶密碼:

  修改tomcat下conf下的tomcat-users.xml文件

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <user username="xingoo" password="test" roles="manager"/>
</tomcat-users>

  添加user和role標簽,注意roles里面的角色名字,必須包含manager

 

  登錄后的配置界面如下,剩下的點來點去的,就不多啰嗦了。

 

如何通過http報文獲取管理器信息?

  也可以使用http報文獲取tomcat的信息,例如:

http://{host}:{port}/manager/{command}?{parameters}

  例如發布應用程序,可以使用:

http://localhost:8080/manager/deploy?path=/foo

  其他的可以參考原文官方手冊,這里一般不適用這種方式,因此也不過多的研究了。

一些疑問!有待解決

  官方文檔中,可以配置管理器登錄的IP或者域名限制,實在manager.xml中,配置如下的信息:

<Context docBase="${catalina.home}/webapps/manager"
         privileged="true" antiResourceLocking="false" antiJARLocking="false">
         <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="49.140.69.48"/>
</Context>

  可惜測試了下,沒好使。其他IP仍然可以訪問,很納悶!

  這個問題還要多多指教,之后也會更新原因。

參考

 【1】Tomcat6.0 Manager:http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM