Tomcat和多个域/应用程序

use*_*026 40 tomcat

目前我在端口80上使用单个WAR应用程序运行单个tomcat.域名www.foo.org指向此服务器ip.

在端口80 为不同的客户端添加www.bar.org域的步骤是什么?

谢谢

gum*_*ins 52

从一开始,你有一个单一的"主机",在你的记录的conf/server.xml中localhost

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>
Run Code Online (Sandbox Code Playgroud)

现在,您可以添加另一个"主机"记录

  <Host name="anotherclient.com"  appBase="anotherclient" unpackWARs="true" autoDeploy="true">

       <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="anotherclient_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
  </Host>
Run Code Online (Sandbox Code Playgroud)

name="anotherclient.com"新客户端的域名在哪里,appBase="anotherclient"是它的Web应用程序根目录名称(您部署战争的地方); 这是相对于tomcat home dir.

重新启动tomcat后将接受更改.

发往任何其他域(未列出server.xml)但指向服务器IP地址的请求将传递给默认应用程序,它在Engine元素中指定

<Engine name="Catalina" defaultHost="localhost">
Run Code Online (Sandbox Code Playgroud)

  • 这是否意味着战争在原始foo.org网站的`/ opt/tomcat/webapps/ROOT.war`,然后是新的bar.org网站的`/ opt/tomcat/anotherclient/ROOT.war`? (7认同)
  • @Axel我在tomcats server.xml中有几个主机。每个看起来像这样: &lt;Host name="www.my-url.xyz" appBase="webapps" unpackWARs="true" autoDeploy="true"&gt; &lt;Context path="" docBase="my-web-app-1 /2/3..." debug="0"privileged="true" /&gt; &lt;Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs" prefix="localhost_access_log" suffix=".txt " pattern="%h %l %u %t "%r" %s %b" /&gt; &lt;/Host&gt; 像这样,我将 URL 映射到应用程序,全部位于“webapps”下。 (2认同)

Chr*_*ltz 5

在其默认配置中,Tomcat接受对任何主机名的请求,并将它们全部发送到conf/server.xml中定义的"localhost"<Host>.如果您没有更改,那么您所要做的就是确保为两个主机名设置DNS记录以指向您的服务器.

如果您希望为每个主机名设置一组不同的Web应用程序,则必须在conf/server.xml中定义第二个<Host>并为其使用适当的主机名.(请注意,您将始终必须拥有一个"默认"主机,其中所有请求都与任何明确定义的主机不匹配).

你可以在这里阅读<Host>的文档:http://tomcat.apache.org/tomcat-7.0-doc/config/host.html(这是针对Tomcat 7.0.x.你没有提到你的版本所以我给了您链接到最新版本的文档).