使用 Tomcat 虚拟主机管理器为虚拟主机添加 docBase

使用 Tomcat 虚拟主机管理器为虚拟主机添加 docBase

在 Tomcat 虚拟主机管理器中,有一个选项可以添加虚拟主机,其选项如下:

Name
Aliases
App base
AutoDeploy
DeployOnStartup
DeployXML
UnpackWARs
Manager App

但是,似乎没有为虚拟主机设置 docBase 的选项,就像我之前在 XML 配置文件中手动添加它们时所做的那样:

<Host name="[my_domain_name]" appBase="webapps">
   <Context path="" docBase="[path_to_my_site]" />
</Host>

有没有办法通过管理器添加它,如果没有,那么默认的 docBase 最终会是什么?

谢谢。

注意:我正在使用 Tomcat 7

答案1

Host 没有 docBase 属性。如您在代码片段中看到的那样,上下文有一个 docBase 属性。根据文档:

此 Web 应用程序的文档基础(也称为上下文根)目录,或 Web 应用程序存档文件的路径名(如果此 Web 应用程序直接从 WAR 文件执行)。您可以为此目录或 WAR 文件指定绝对路径名,或相对于所属主机的 appBase 目录的路径名。

(看Tomcat 7.0.x 文档

要声明个性化docbase,您必须在context主机的所有声明中设置它。(附注:强烈不建议context在 web.xml 中声明,您应该在文件夹中添加一个 xml 文件conf/<engine-name>/<host>

另外,由于您appBase的主机上有一个属性,因此您只需在该路径中部署您的 war,然后文档库将成为您的 war 的路径(扩展或不遵循其他属性)。

例如,假设我们在 server.xml 中有一个主机,如下所示:

<Host name="exemple.org" appBase="webapps/exemple.org">
</Host>

我想要部署的应用程序exemple.org/appli。我添加一个文件 appli.xml,conf/Catalina/exemple.org/其内容如下:

<Context docBase="<path/to/war>" ... />

或者我把战争(名为appli.war)放在webapps/exemple.org/

又看到Tomcat 文档了解所有详细信息。

相关内容