一尘不染

如何在没有web应用程序的情况下设置tomcat虚拟主机?

tomcat

我正在尝试将我的Web应用程序从树脂迁移到Tomcat7。让我感到困惑的是,我不知道如何为一个虚拟主机设置一个“默认” webapp?

也就是说,我的站点只有一个应用程序:"/",位于“
/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的webapp(host-
manager,manager,examples,docs,ROOT …)被加载。当我打开网站时,它会显示tomcat的默认屏幕(带有损坏的图像)。

配置不起作用…(我尝试了xmlBase,appBase,docBase …,但是全部无效)

似乎一个解决方案是ROOT/home/destiny/www/webapps/ROOT目录中命名为’ ‘
的Web应用程序,但我不希望使用该解决方案!我想要默认的Web应用程序在/ home / destiny /
www中。并且不会安装其他任何webapp(我不需要webappsdir)。

如何解决(在树脂中很容易实现)?谢谢。


阅读 210

收藏
2020-06-16

共1个答案

一尘不染

要指向您自己的目录,请尝试以下操作:

转到tomcat文件夹%path_to_tomcat%/conf/Catalina/localhost
您还可以根据需要将localhost更改为主机,但是如果您唯一要做的是将应用程序放在’/’上,则localhost就可以了。

ROOT.xml在先前定义的文件夹中创建一个名为的文件。在该文件中添加以下内容

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/home/destiny/www">
</Context>

另外,请查看%path_to_tomcat%/ webapps /,并删除/移动/重命名那里的ROOT文件夹(如果您不希望使用默认的tomcat页面)。

有关更多详细信息,请参见方法2 @ 此链接

2020-06-16