web server apache tomcat11-06-Host Manager App

前言

整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本爲 v11 最新的版本。

開源項目

從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。

系列文章

web server apache tomcat11-01-官方文檔入門介紹

web server apache tomcat11-02-setup 啓動

web server apache tomcat11-03-deploy 如何部署

web server apache tomcat11-04-manager 如何管理?

web server apache tomcat11-06-Host Manager App -- Text Interface

web server apache tomcat11-07-Realm Configuration

web server apache tomcat11-08-JNDI Resources

web server apache tomcat11-09-JNDI Datasource

web server apache tomcat11-10-Class Loader

...

簡介

Tomcat 主機管理器應用程序使您能夠在 Tomcat 中創建、刪除和管理虛擬主機。本操作指南最好與以下文檔一起使用:

  • 虛擬主機 How-To 獲取有關虛擬主機的更多信息。
  • 主機容器 獲取有關虛擬主機的底層 XML 配置和屬性描述的更多信息。

Tomcat 主機管理器應用程序是 Tomcat 安裝的一部分,默認情況下可以使用以下上下文訪問:/host-manager。您可以以下列方式使用主機管理器:

  • 利用圖形用戶界面,可通過以下地址訪問:{服務器}:{端口}/host-manager/html。
  • 利用一組適用於腳本編寫的最小 HTTP 請求。您可以在以下地址訪問此模式:{服務器}:{端口}/host-manager/text。

這兩種方式都可以添加、刪除、啓動和停止虛擬主機。通過使用 persist 命令可以持久化更改。本文檔重點介紹文本界面。有關圖形界面的更多信息,請參閱主機管理器應用程序 -- HTML 界面。

配置管理器應用程序訪問權限

以下描述使用 $CATALINA_HOME 來引用基本的 Tomcat 目錄。它是您安裝 Tomcat 的目錄,例如 C:\tomcat9 或 /usr/share/tomcat9。

主機管理器應用程序需要具有以下角色之一的用戶:

  • admin-gui - 對於圖形 Web 界面使用此角色。
  • admin-script - 對於腳本 Web 界面使用此角色。

要啓用對主機管理器應用程序文本界面的訪問權限,請爲您的 Tomcat 用戶授予適當的角色,或創建具有正確角色的新用戶。例如,打開 ${CATALINA_BASE}/conf/tomcat-users.xml 並輸入以下內容:

<user username="test" password="chang3m3N#w" roles="admin-script"/>

無需進行進一步的設置。現在,當您訪問 {服務器}:{端口}/host-manager/text/${COMMAND} 時,您可以使用創建的憑據登錄。例如:

$ curl -u ${USERNAME}:${PASSWORD} http://localhost:8080/host-manager/text/list

命令列表

支持以下命令:

  • list
  • add
  • remove
  • start
  • stop
  • persist

在以下子節中,假設用戶名和密碼爲 test:test。對於您的環境,請使用前面部分創建的憑據。

List 命令

使用 list 命令查看您的 Tomcat 實例上可用的虛擬主機。

示例命令:

curl -u test:test http://localhost:8080/host-manager/text/list

示例響應:

OK - Listed hosts
localhost:

Add 命令

使用 add 命令添加新的虛擬主機。用於 add 命令的參數:

  • String name: 虛擬主機的名稱。必填
  • String aliases: 虛擬主機的別名。
  • String appBase: 將由此虛擬主機提供服務的應用程序的基本路徑。提供相對或絕對路徑。
  • Boolean manager: 如果爲 true,則將 Manager 應用程序添加到虛擬主機。您可以通過 /manager 上下文訪問它。
  • Boolean autoDeploy: 如果爲 true,則 Tomcat 會自動重新部署放置在 appBase 目錄中的應用程序。
  • Boolean deployOnStartup: 如果爲 true,則 Tomcat 會在啓動時自動部署放置在 appBase 目錄中的應用程序。
  • Boolean deployXML: 如果爲 true,則會讀取並使用 /META-INF/context.xml 文件。
  • Boolean copyXML: 如果爲 true,則 Tomcat 會複製 /META-INF/context.xml 文件,並使用原始副本,而不管應用程序的 /META-INF/context.xml 文件的更新。

示例命令:

curl -u test:test "http://localhost:8080/host-manager/text/add?name=www.awesomeserver.com&aliases=awesomeserver.com&appBase=/mnt/appDir&deployOnStartup=true"

示例響應:

add: Adding host [www.awesomeserver.com]

Remove 命令

使用 remove 命令刪除虛擬主機。用於 remove 命令的參數:

  • String name: 要刪除的虛擬主機的名稱。必填

示例命令:

curl -u test:test http://localhost:8080/host-manager/text/remove?name=www.awesomeserver.com

示例響應:

remove: Removing host [www.awesomeserver.com]

Start 命令

使用 start 命令啓動虛擬主機。用於 start 命令的參數:

  • String name: 要啓動的虛擬主機的名稱。必填

示例命令:

curl -u test:test http://localhost:8080/host-manager/text/start?name=www.awesomeserver.com

示例響應:

OK - Host www.awesomeserver.com started

Stop 命令

使用 stop 命令停止虛擬主機。用於 stop 命令的參數:

  • String name: 要停止的虛擬主機的名稱。必填

示例命令:

curl -u test:test http://localhost:8080/host-manager/text/stop?name=www.awesomeserver.com

示例響應:

OK - Host www.awesomeserver.com stopped

Persist 命令

使用 persist 命令將虛擬主機持久化到 server.xml 中。用於 persist 命令的參數:

  • String name: 要持久化的虛擬主機的名稱。必填

此功能默認情況下處於禁用狀態。要啓用此選項,您必須首先配置 Store

ConfigLifecycleListener 監聽器。要執行此操作,請將以下監聽器添加到您的 server.xml 中:

<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

示例命令:

curl -u test:test http://localhost:8080/host-manager/text/persist?name=www.awesomeserver.com

示例響應:

OK - Configuration persisted

示例手動條目:

<Host appBase="www.awesomeserver.com" name="www.awesomeserver.com" deployXML="false" unpackWARs="false">
</Host>

參考資料

https://tomcat.apache.org/tomcat-11.0-doc/host-manager-howto.html

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