【发布时间】:2012-03-09 17:02:00
【问题描述】:
我正在尝试将我的 webapp 从 resin 迁移到 Tomcat7 。一件事让我感到困惑是我不知道如何为一个虚拟主机设置一个“默认”网络应用程序?
也就是说,我的网站只有一个应用程序:"/",位于“/home/destiny/www”。里面有很多 PHP 脚本(由 apache 提供),里面有一个 WEB-INF 目录,里面有一个标准的 JavaEE 应用程序。 My app is not packaged in WAR , it is default expanded.
我尝试查找有关如何在 tomcat 7 中设置虚拟主机的文档,但所有示例都需要一个 'webapps' 目录来扩展 WAR,但这不是我的情况!
这是我的 server.xml 设置(tomcat 7.0.23):
<Host name="myhost.com" xmlBase="/home/destiny/www"
unpackWARS="false" autoDeploy="true">
<Context path="/" docBase="." />
</Host>
<!-- default tomcat's host -->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"> ... </Host>
当我启动 tomcat 时,我看到我的 webapp 没有加载,只加载了 tomcat 的 webapps(host-manager、manager、examples、docs、ROOT ...)。当我打开我的网站时,它会显示 tomcat 的默认屏幕(带有损坏的图像)。
配置不起作用...(我尝试了 xmlBase 、 appBase 、 docBase ...但都无效)
似乎一种解决方案是/home/destiny/www/webapps/ROOT 目录中名为“ROOT”的网络应用程序,但我不想要那个解决方案!我希望我的默认网络应用程序位于 /home/destiny/www 。并且不会安装其他 webapps(我不需要 webapps dir )。
如何解决(在树脂中很容易实现)?谢谢。
【问题讨论】:
标签: tomcat tomcat7 virtualhost