我有两个域,但只有一个运行tomcat 7的虚拟服务器 . 我有自己的ubuntu Linux,在虚拟服务器上运行完全root访问权限 . 我设置了shorewall防火墙,它将端口80上的任何请求转发到端口8080(tomcat监听的地方) .
所以我已经在网上搜索了但我只发现在我的情况下不起作用的“解决方案” . 这是我到目前为止所做的:
-
我将我的websiteA.war复制为ROOT.war到$ CATALINA_HOME / webapps /文件夹中
-
我还将我的websiteB.war复制为WebsiteB.war到$ CATALINA_HOME / webapps /文件夹中
-
我以下列方式修改了我的$ CATALINA_HOME / conf / server.xml:
主机名=“www.websiteA.com”appBase =“webapps”unpackWARs =“true”autoDeploy =“true”
主机名=“www.websiteB.de”appBase =“webapps / websiteB”unpackWARs =“true”autoDeploy =“true”
主机名=“localhost”appBase =“webapps”unpackWARs =“true”autoDeploy =“true”
- 我在“$ CATALINA_HOME / conf / Catalina / www.websiteB.com”文件夹中创建了以下文件ROOT.xml:
?xml version =“1.0”encoding =“UTF-8”?
上下文displayName =“www.websiteB.com”docBase =“”path =“”
/上下文
-
重启tomcat . websiteA.com部署在“/”下,websiteB.com部署在“/ websiteB”下
-
进入www.websiteB.com到达"/",这意味着websiteA实际上是为websiteB.com显示的
我在这做错了什么?
1 回答
转到你的
$CATALINA_HOME/conf/server.xml
文件 .在那里,您将找到以下部分:
因此,
appBase
将是您必须放置的目录ROOT.war
(!)和name
是将映射到此目录的域名 .directory/of/WAR-files
是$CATALINA_HOME
中的子目录,与标准文件夹webapps
相同 level (!!!) . 所以两个目录共存!