Tomcat 6.0配置多端口及多域名

### Tomcat 6.0 配置多端口及多域名详解 #### 一、问题背景与需求分析 本文档解决的问题是关于如何在Apache Tomcat 6.0(以下简称Tomcat)中配置多端口及多域名的问题。具体的需求为: - 已经存在一个网站,使用域名`www.abc.com`,并通过端口`8000`进行访问; - 新增加了一个项目,需要使用标准HTTP端口`80`来进行访问,并且该项目将使用不同的域名`www.efg.com`。 #### 二、解决方案概述 为了解决上述问题,我们需要对Tomcat的配置文件`server.xml`进行修改,以便能够支持同时运行两个站点,每个站点使用不同的域名和端口。下面将详细介绍具体的步骤和方法。 #### 三、配置多端口与多域名的具体步骤 **1. 修改原有服务配置** 需要对现有的服务配置进行修改,以保留原有站点的访问方式。在`server.xml`文件中找到如下配置段: ```xml <Service name="Catalina"> <Connector port="8000" protocol="HTTP/1.1" ... /> <Connector port="8009" protocol="AJP/1.3" ... /> <Engine name="Catalina" defaultHost="localhost"> <Realm ... /> <Host name="localhost" appBase="webapps" ... /> </Engine> </Service> ``` 这里保持原有服务名称`Catalina`不变,因为这通常是Tomcat默认的服务名称。原有的端口`8000`和`8009`也保持不变,以确保现有网站的正常访问。 **2. 添加新服务配置** 接下来,添加一个新的服务配置来支持新项目。在`server.xml`文件中,可以新增如下配置: ```xml <!-- 新增的服务 --> <Service name="CatalinaIt"> <!-- HTTP Connector --> <Connector port="80" protocol="HTTP/1.1" ... /> <!-- AJP Connector --> <Connector port="8019" protocol="AJP/1.3" redirectPort="8453" /> <Engine name="CatalinaWap" defaultHost="it"> <Realm ... /> <Host name="it" debug="0" appBase="D:\item" ...> <Alias>www.efg.com</Alias> <!-- Context for the new application --> <Context path="" docBase="D:\item\myitems" ... /> </Host> </Engine> </Service> ``` 这里的`Service`元素定义了一个新的服务实例,名为`CatalinaIt`,其中包含了用于HTTP连接的`Connector`(端口80)和AJP连接器(端口8019)。`Engine`元素中的`defaultHost`属性设置为`it`,并指定了一个`Host`元素,用于处理新的域名`www.efg.com`。 **3. 设置Host映射** 为了确保域名`www.efg.com`能够正确地映射到本地机器,还需要在操作系统的`hosts`文件中添加相应的条目。例如,在Windows系统中,可以通过编辑`C:\Windows\System32\drivers\etc\hosts`文件来实现: ```plaintext 127.0.0.1 www.efg.com ``` 这样,当尝试通过`www.efg.com`访问时,请求将被重定向到本地主机。 #### 四、配置细节解析 **1. Connector配置** 每个`Connector`元素都包含一系列属性,这些属性对于网络连接至关重要。例如,`port`属性定义了该连接器监听的端口号;`protocol`指定通信协议版本;`maxThreads`表示并发连接的最大数量等。此外,还有如`maxHttpHeaderSize`、`connectionTimeout`等其他属性,它们对性能和安全性都有影响。 **2. Host配置** `Host`元素用于定义虚拟主机,即一个或多个域名所对应的应用程序环境。在这里,我们为`www.efg.com`指定了一个单独的`Host`,并通过`appBase`属性指定应用文件所在的目录。`<Alias>`元素用于提供额外的别名域名。 **3. Context配置** `Context`元素用于定义特定于应用程序的上下文,例如文档基础路径(`docBase`)、上下文路径(`path`)等。这里设置的`path`为空字符串,意味着该应用将位于根目录下。 #### 五、总结 通过上述步骤,我们可以成功地在Tomcat 6.0中配置多端口及多域名,使得同一台服务器能够支持多个不同域名的网站,每个网站都可以使用不同的端口进行访问。这对于开发环境或者小型企业来说是非常实用的功能。需要注意的是,实际部署时还需根据具体情况调整各项配置参数,以满足性能和安全性的要求。



























现在我有两个域名:www.abc.com,www.efg.com,由于之前在服务器上一直用的是www.abc.com:8000来访问,这个端口又不能改,而现在有一个新的项目也是要部署到Tomcat,但只能用80端口,经过多次测试,具体操作如下:
<Service name="Catalina">
<Connector port="8000" 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"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
<!--以上部署是之前部署的,由于以上配置变动后需要改很多信息,这样我只能新增一个Service来映射80端口,把以上部署原封不动的复制一份贴到下边,如下:-->
<Service name="CatalinaIt"><!--此名需要修改,只要跟上面不重复就行-->
<!--下面修改为80端口-->
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000" maxHttpHeaderSize="8192"
maxThreads="1000" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8453" acceptCount="500"
compression="on" compressionMinSize="2048" useBodyEncodingForURI="true" URIEncoding="UTF-8" />

- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于Simulink的主动悬架控制系统:LQR与五自由度模糊PID控制的对比研究
- yolov5实现基于kld的旋转目标检测
- 机器人运动控制领域中Marilink平台的上位机源码解析及多种运动算法实现
- C#上位机与西门子PLC通讯技术案例:实现数据读取、存储至数据库,生成报表查询,报警历史追溯,变量自定义配置 · 多线程
- MATLAB实现混合整数二阶锥规划在主动配电网动态最优潮流中的求解与应用 完整版
- 基于 PyTorch 的计算机视觉入门:图像分类与目标检测教程
- C#上位机OPC DA网口通讯协议:连接95%PLC的通用解决方案,附编程课程与OPC服务器赠送。 精选版
- 基于调度经济性的光热电站储热容量优化配置研究:探索成本与效益的平衡点
- Matlab环境下基于CNN-LSTM的多特征分类预测模型构建与优化
- STM32锅炉控制器系统:企业级完整项目,含源码、原理图与PCB,涵盖文件系统、SD卡驱动等关键技术
- 智能楼宇微网优化调度模型:融合绿证交易与碳排放考量的综合能源系统 v1.1
- 基于MATLAB的混合ACDC微电网系统电力调度与管理技术研究
- 带遗忘因子最小二乘参数估计法在LabVIEW中的应用与实践 - LabVIEW
- COMSOL模拟近场金属探针激发表面等离子体激元(SPP)的技术研究与应用
- 电力人工智能数据竞赛-液压吊车目标检测赛道
- 目标检测任务中常用的数据转换及数据处理函数



- 1
- 2
- 3
前往页