在 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 目录的路径名。
要声明个性化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 文档了解所有详细信息。