Tomcat 6.0配置多端口与多域名实战指南

5星 · 超过95%的资源 需积分: 10 71 下载量 39 浏览量 更新于2024-10-27 收藏 3KB TXT 举报
"在本文中,我们将探讨如何配置Apache Tomcat 6.0以支持多端口和多域名。作者在解决这个问题时遇到了困难,但最终成功地让两个不同的域名——www.abc.com和www.efg.com——在各自的端口上正常运行。其中一个项目已经使用www.abc.com:8000进行访问,而新的项目需要部署在80端口。" Tomcat是Java Servlet容器,常用于部署Web应用程序。配置多端口和多域名对于在同一台服务器上运行多个独立的应用程序至关重要。以下是详细的配置步骤: 1. 配置多端口: - 在`conf/server.xml`文件中,Tomcat的配置文件中,找到`<Service>`元素。这个元素代表一个服务实例,可以包含多个`<Connector>`和`<Engine>`元素。 - `<Connector>`元素定义了Tomcat对外提供的连接器,用于监听特定端口上的HTTP请求。例如,原来的配置中,有两行`<Connector>`元素,分别监听8000端口(HTTP)和8009端口(AJP)。如果你想添加一个新的端口,比如80端口,你需要复制一个`<Connector>`元素,并修改`port`属性为80。 ```xml <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" maxHttpHeaderSize="8192" maxThreads="1000" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="500" compression="on" compressionMinSize="2048" useBodyEncodingForURI="true" URIEncoding="UTF-8"/> ``` 2. 配置多域名: - 多域名的配置主要涉及到`<Engine>`和`<Host>`元素。`<Engine>`元素是整个服务的顶级元素,它包含一个或多个`<Host>`元素,每个`<Host>`代表一个域名或IP地址。 - 为了支持www.abc.com和www.efg.com,你需要在`<Engine>`下创建两个`<Host>`元素,分别对应这两个域名。每个`<Host>`元素需要设置`name`属性为对应的域名,`appBase`属性指定应用程序的根目录。 ```xml <Host name="www.abc.com" appBase="path_to_abc_app" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> <Host name="www.efg.com" appBase="path_to_efg_app" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Host> ``` 3. 注意: - `appBase`路径应指向你的Web应用程序的部署目录,如果是WAR文件,Tomcat会自动解压。 - `unpackWARs`和`autoDeploy`属性控制Tomcat是否自动部署WAR文件。 - `connectionTimeout`定义了在关闭未完成的请求前等待的时间(以毫秒计)。 - `redirectPort`属性用于SSL重定向,当非SSL请求到达并且需要被强制转换为SSL时,Tomcat将使用该端口。 4. 保存并重启Tomcat: - 修改完`server.xml`后,记得保存文件并重启Tomcat服务以使更改生效。 通过以上配置,Tomcat将能够同时处理来自8000端口(www.abc.com)和80端口(新项目)的请求,并根据请求中的域名分配到相应的应用程序。确保正确配置防火墙规则,允许外部访问这些端口。此外,如果你使用的是SSL,别忘了配置SSL证书和相关的端口(如443)。