主機管理員應用程式 -- 文字介面
目錄
簡介
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>