主機管理員應用程式 -- 文字介面

目錄

簡介

Tomcat 主機管理員應用程式讓您能在 Tomcat 中建立、刪除,以及以其他方式管理虛擬主機。本操作指南最好搭配以下文件

Tomcat 主機管理員應用程式是 Tomcat 安裝的一部分,預設可使用以下內容:/host-manager。您可以在以下方式使用主機管理員

  • 使用圖形使用者介面,可於下列位置存取:{server}:{port}/host-manager/html
  • 使用一組適用於指令碼編寫的最小 HTTP 要求。您可以在下列位置存取此模式:{server}:{port}/host-manager/text

兩種方式都能讓您新增、移除、啟動和停止虛擬主機。變更可使用 persist 指令持續。本文檔著重於文字介面。如需關於圖形介面的更多資訊,請參閱 主機管理員應用程式 -- HTML 介面

組態管理員應用程式存取

以下說明使用 $CATALINA_HOME 參照 Tomcat 基礎目錄。這是您安裝 Tomcat 的目錄,例如 C:\tomcat9/usr/share/tomcat9

主機管理員應用程式需要具有下列其中一個角色的使用者

  • admin-gui - 對圖形 Web 介面使用此角色。
  • admin-script - 使用此角色來進行指令碼網頁介面。

若要啟用存取主機管理員應用程式的文字介面,請授與 Tomcat 使用者適當的角色,或使用正確的角色建立新的使用者。例如,開啟 ${CATALINA_BASE}/conf/tomcat-users.xml,並輸入下列內容

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

不需要進一步設定。當您現在存取 {server}:{port}/host-manager/text/${COMMAND} 時,您可以使用建立的憑證登入。例如

$ curl -u ${USERNAME}:${PASSWORD} https://127.0.0.1:8080/host-manager/text/list
OK - Listed hosts
localhost:

如果您使用不同的領域,您需要使用該領域的標準使用者管理工具,將必要的角色新增至適當的使用者。

指令清單

支援下列命令

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

在下列小節中,假設使用者名稱和密碼為 test:test。對於您的環境,請使用先前各節中建立的憑證。

清單指令

使用 list 命令,以查看 Tomcat 執行個體上的可用虛擬主機。

範例命令:

curl -u test:test https://127.0.0.1:8080/host-manager/text/list

範例回應:

OK - Listed hosts
localhost:

新增指令

使用 add 命令,以新增新的虛擬主機。用於 add 命令的參數

  • 字串 name:虛擬主機的名稱。必要
  • 字串 aliases:虛擬主機的別名。
  • 字串 appBase:將由這個虛擬主機提供的應用程式的基本路徑。提供相對或絕對路徑。
  • 布林值 manager:如果為 true,則會將 Manager 應用程式新增至虛擬主機。您可以使用 /manager 內容存取它。
  • 布林值 autoDeploy:如果為 true,則 Tomcat 會自動重新部署放置在 appBase 目錄中的應用程式。
  • 布林值 deployOnStartup:如果為 true,則 Tomcat 會在啟動時自動部署放置在 appBase 目錄中的應用程式。
  • 布林值 deployXML:如果為 true,則 Tomcat 會讀取 /META-INF/context.xml 檔案並使用它。
  • 布林值 copyXML:如果為 true,則 Tomcat 會複製 /META-INF/context.xml 檔案,並使用原始副本,而不論應用程式的 /META-INF/context.xml 檔案是否有更新。

範例命令:

curl -u test:test https://127.0.0.1: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 命令的參數

  • 字串 name:要移除的虛擬主機名稱。必要

範例命令:

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

範例回應:

remove: Removing host [www.awesomeserver.com]

啟動指令

使用 start 指令啟動虛擬主機。用於 start 指令的參數

  • 字串 name:要啟動的虛擬主機名稱。必要

範例命令:

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

範例回應:

OK - Host www.awesomeserver.com started

停止指令

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

  • 字串 name:要停止的虛擬主機名稱。必要

範例命令:

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

範例回應:

OK - Host www.awesomeserver.com stopped

持續指令

使用 persist 指令將虛擬主機持續儲存在 server.xml 中。用於 persist 指令的參數

  • 字串 name:要持續儲存的虛擬主機名稱。必要

此功能預設為停用。若要啟用此選項,您必須先設定 StoreConfigLifecycleListener 監聽器。為此,請將下列監聽器新增至您的 server.xml

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

範例命令:

curl -u test:test https://127.0.0.1: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>