同一服务器部署多个tomcat时,存在端口号冲突的问题,所以需要修改tomcat配置文件server.xml,以tomcat7为例。
首先了解下tomcat的几个主要端口:
第一个连接器(connector)用于监听浏览器发送的请求,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
- protocol:http协议
- connectionTimeout:连接超时时间
- redirectPort:如果发送的是https请求,就将请求转发到8443端口
1 | <Connector port=”8080″ |
第二个连接器(connector)监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。apache能过AJP协议访问tomcat的8009端口。httpd等反向代理tomcat时就可以使用使用ajp协议反向代理到该端口。虽然我们经常都是使用http反向代理到8080端口,但由于ajp建立tcp连接后一般长时间保持,从而减少了http反复进行tcp连接和断开的开销,所以反向代理中ajp是比http高效的。
1 | <Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ /> |
第三个服务(server)监听8005端口,用来关闭Tomcat服务。
1 | <Server port=”8005″ shutdown=”SHUTDOWN”> |
所以部署多个tomcat主要修改三个端口:
HTTP端口,默认8080,如下改为8081
1
2
3
4
5
6
7
8<Connector port=“8081”
protocol=“HTTP/1.1″
connectionTimeout=“60000”
redirectPort=“8443”
disableUploadTimeout=“false”
executor=“tomcatThreadPool”
URIEncoding=“UTF-8″
/>关闭服务端口,默认8005,如下改为8006
1
<Server port=“8006” shutdown=“SHUTDOWN”>
AJP端口,默认8009,如下改为8010
1
<Connector port=“8010” protocol=“AJP/1.3″ redirectPort=“8443” />