目前我在端口80上使用单个WAR应用程序运行单个tomcat。域名 www.foo.org 指向此服务器ip。
在端口80上为其他客户端添加 www.bar.org 域的步骤是什么?
谢谢
答案 0 :(得分:51)
从一开始,您在 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 "%r" %s %b" />
</Host>
现在您可以添加其他“主机”记录,例如
<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 "%r" %s %b" />
</Host>
其中name="anotherclient.com"
是新客户端的域名,appBase="anotherclient"
是其Web应用程序根目录名称(您部署战争的地方);这是相对于tomcat home dir。
重新启动tomcat后将接受更改。
要求转到任何其他域(未在server.xml
中列出)但指向服务器的IP地址的请求将传递到默认应用程序,它在Engine
元素中指定
<Engine name="Catalina" defaultHost="localhost">
答案 1 :(得分:5)
在默认配置中,Tomcat接受对任何主机名的请求,并将它们全部发送到“localhost”&lt; Host&gt;在conf / server.xml中定义。如果您没有更改,那么您所要做的就是确保为两个主机名设置DNS记录以指向您的服务器。
如果您想为每个主机名设置一组不同的webapp,那么您必须定义第二个&lt; Host&gt;在conf / server.xml中并为其使用适当的主机名。 (请注意,您将始终拥有一个“默认”主机,其中所有请求都与任何明确定义的主机不匹配)。
您可以阅读&lt; Host&gt;的文档。这里:http://tomcat.apache.org/tomcat-7.0-doc/config/host.html(那是Tomcat 7.0.x.你没有提到你的版本,所以我给你一个最新版本文档的链接。)
答案 2 :(得分:3)
通常,您在端口上有一个不同于80的tomcat(或其他应用程序服务器)(如8080或7001或您想要的任何东西)。 之后,在端口80上放置一个Web服务器(如apache http服务器),并配置一个或多个连接器,指向不同地址的不同应用服务器上的不同端口。
对于Apache http + tomcat,您可以查看以下链接:
http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html