如何解决通过 context.xml 设置一个 Tomcat vhost不在 server.xml 中
- 在
server.xml
中设置虚拟主机的旧方法
<Host name="www.mysite.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="sample" reloadable="true" />
这有效,我可以在
- 如 Tomcat 文档中所述。
不建议将元素直接放置在 server.xml 文件中。这是因为它使修改 Context 配置更具侵入性,因为在不重新启动 Tomcat 的情况下无法重新加载主 conf/server.xml 文件。默认上下文元素(见下文)还将覆盖直接放置在 server.xml 中的任何元素的配置。为防止出现这种情况,应将 server.xml 中定义的元素的 override 属性设置为 true。
可以显式定义单个 Context 元素:
-
在应用程序文件中 /META-INF/context.xml 的单个文件中。可以选择(基于主机的 copyXML 属性)将其复制到 $CATALINA_BASE/conf/[enginename]/[hostname]/ 并重命名为应用程序的基本文件名加上“.xml”扩展名。
-
在 $CATALINA_BASE/conf/[enginename]/[hostname]/ 目录中的单个文件(带有“.xml”扩展名)中。上下文路径和版本将从文件的基本名称(文件名减去 .xml 扩展名)派生。此文件将始终优先于打包在 Web 应用程序的 META-INF 目录中的任何 context.xml 文件。
所以我在 server.xml
中创建了一些
<Host name="www.mysite.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
然后在context.xml
中放置一个<tomcat_home/conf/Catalina/www.mysite.com/
,其内容为
<Context docBase="sample" reloadable="true" />
这不起作用,它返回一个 404
页面。
那么根据上下文设置 vhost 的正确方法是什么?
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。