Tomcat中三个重要的端口

同一服务器部署多个tomcat时,存在端口号冲突的问题,所以需要修改tomcat配置文件server.xml,以tomcat7为例。

首先了解下tomcat的几个主要端口:

第一个连接器(connector)用于监听浏览器发送的请求,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。

  • protocol:http协议
  • connectionTimeout:连接超时时间
  • redirectPort:如果发送的是https请求,就将请求转发到8443端口
1
2
3
4
5
6
7
8
<Connector port=”8080″
protocol=”HTTP/1.1″
connectionTimeout=”60000″
redirectPort=”8443″
disableUploadTimeout=”false”
executor=”tomcatThreadPool”
URIEncoding=”UTF-8″
/>

第二个连接器(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主要修改三个端口:

  1. 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″
    />
  2. 关闭服务端口,默认8005,如下改为8006

    1
    <Server port=“8006” shutdown=“SHUTDOWN”>
  3. AJP端口,默认8009,如下改为8010

    1
    <Connector port=“8010” protocol=“AJP/1.3″ redirectPort=“8443” />