主机管理器应用程序 - 文本界面

目录

简介

**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>