Tomcat manager

一、介紹

        Tomcat manager是Tomcat自帶的、使用HTML界面的、管理Tomcat自身以及部署在Tomcat上的應用的web應用。

        參考官網:http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html

        它支持的功能包括:

    • 通過war包部署新應用;
    • 在服務器上指定的路徑部署新應用;
    • 列出當前部署的Web應用程序,以及當前這些Web應用程序處於活動狀態的會話;
    • 重新加載現有Web應用程序,以反映/WEB-INF/classes或/WEB-INF/lib下內容的更改;
    • 列出操作系統和JVM屬性;
    • 列出可用的全局JNDI資源;
    • 啓動已停止的應用程序;
    • 停止現有應用程序,但不取消部署;
    • 取消部署已部署的Web應用程序並刪除其所在目錄文件(除非它是被文件系統部署的)

        三種使用方式:

    • 作爲具有用戶界面的應用程序,您可以在瀏覽器中使用。
    • HTTP請求,命令作爲請求URI的一部分。
    • 對於Ant(1.4版或更高版本)構建工具提供一組方便的任務定義。

        四種角色:

    • manager-gui — 訪問HTML界面
    • manager-status — 只能訪問"Server Status"頁
    • manager-script — 訪問本文檔中描述的工具友好的純文本界面,以及“Server Status”頁面
    • manager-jmx — 訪問JMX代理接口和“Server Status”頁面

二、使用背景和目的

        如何優雅的重新加載重新部署的web應用。有兩個並不太優雅的方法可以觸發重新加載:

    • 重啓Tomcat:Tomcat啓動會加載應用class文件;爲了一個應用重啓整個容器,效率比較低;
    • 在配置文件中,爲該應用加上reloadable="true"屬性:Tomcat會啓動一個守護進程,持續監測應用/WEB-INF/classes或/WEB-INF/lib下內容的更改,若有更新則重新加載;這樣顯然增加了服務器的負擔

        那麼,比較優雅的方式是通過Tomcat manager,如圖所示,每個應用都配備了start/stop/reload等操作按鈕,對應用進行管理。

        使用背景:

  1. Tomcat部署在彈性雲上申請的容器;
  2. 希望從本機遠程訪問容器上部署Tomcat的manager應用;

三、配置

  1. 修改遠程訪問限制:修改webapps/manager/META-INF/context.xml和webapps/host-manager/META-INF/context.xml,在<Context>下<Value>屬性,可看到allow屬性,它用正則表達式表示,默認僅允許本機訪問,例如可修改爲:

    <Context antiResourceLocking="false" privileged="true" >
      <Valve className="org.apache.catalina.valves.RemoteAddrValve"
             allow="172.22.27.*" />
      <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
    </Context>

     

  2. 添加manager-gui權限的用戶:修改conf/tomcat-users.xml,對於默認文件,依次進行如下修改:
    1. 文件末尾,去掉對<role>和<user>填寫示例的註釋;
    2. 配置如下:(注意<tomcat-users>標籤頭在一坨註釋的上面,不要重複添加;配置文件格式錯誤會導致用戶名和密碼不生效;)

      <role rolename="manager-gui"/>
      <user name="admin" password="admin" roles="manager-gui"/>

       

  3. 重啓Tomcat;
  4. 訪問:manager web應用的HTML界面位於:

    http://{host}:{port}/manager/html

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章