主机管理器应用程序 - 文本界面
目录
简介
**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
。
Host Manager 应用程序需要具有以下角色之一的用户
-
admin-gui
- 使用此角色访问图形 Web 界面。 -
admin-script
- 使用此角色访问脚本 Web 界面。
要启用对 Host Manager 应用程序文本界面的访问,请为您的 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} http://localhost:8080/host-manager/text/list
OK - Listed hosts
localhost:
如果您使用的是不同的 Realm,则需要使用该 Realm 的标准用户管理工具将必要的角色添加到相应的用户。
命令列表
支持以下命令
- list
- add
- remove
- start
- stop
- persist
在以下小节中,假设用户名和密码为 test:test。对于您的环境,请使用上一节中创建的凭据。
列表命令
使用 list 命令查看 Tomcat 实例上可用的虚拟主机。
示例命令:
curl -u test:test http://localhost:8080/host-manager/text/list
示例响应:
OK - Listed hosts
localhost:
添加命令
使用 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,Tomcat 会读取 /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 命令的参数
- 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 命令的参数
- 字符串 name: 要启动的虚拟主机名称。必需
示例命令:
curl -u test:test http://localhost:8080/host-manager/text/start?name=www.awesomeserver.com
示例响应:
OK - Host www.awesomeserver.com started
停止命令
使用 stop 命令停止虚拟主机。stop 命令使用的参数
- 字符串 name: 要停止的虚拟主机名称。必需
示例命令:
curl -u test:test http://localhost: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 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>