Tomcat 7.0多端口配置详解

修改tomcat/conf目录里面server.xml文件

例如下面这样新增一个8081端口,设置下appBase目录,这样就可以用一个tomcat监听多个端口,每个端口都可以放应用了。我这样新增下面这个配置以后,tomcat就监听了2个端口(8080,8081)

webapps目录和webapps1目录的应用都会启动,可以根据不同的端口进行访问里面的应用

<?xml version="1.0" encoding="UTF-8"?> 
 
<Server port="8005" shutdown="SHUTDOWN"> 
 <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> 
 <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> 
 <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> 
 <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> 
 <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> 
 
 <GlobalNamingResources>  
  <Resource name="UserDatabase" auth="Container" 
       type="org.apache.catalina.UserDatabase" 
       description="User database that can be updated and saved" 
       factory="org.apache.catalina.users.MemoryUserDatabaseFactory" 
       pathname="conf/tomcat-users.xml" /> 
 </GlobalNamingResources> 
  
 <Service name="Catalina">   
  <Connector port="8080" protocol="HTTP/1.1" 
        connectionTimeout="20000" 
        redirectPort="8443" />     
  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />   
  <Engine name="Catalina" defaultHost="localhost">   
   <Realm className="org.apache.catalina.realm.LockOutRealm">   
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 
        resourceName="UserDatabase"/> 
   </Realm> 
 
   <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> 
  </Engine> 
 </Service> 
  
 <Service name="Catalina2">   
  <Connector port="8081" protocol="HTTP/1.1" 
        connectionTimeout="20000" 
        redirectPort="8445" />     
  <Connector port="8010" protocol="AJP/1.3" redirectPort="8445" />   
  <Engine name="Catalina" defaultHost="localhost">   
   <Realm className="org.apache.catalina.realm.LockOutRealm"> 
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm" 
        resourceName="UserDatabase"/> 
   </Realm> 
 
   <Host name="localhost" appBase="webapps2" 
      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> 
  </Engine> 
 </Service> 
</Server>

OK

Tomcat 7.0多端口配置详解

把项目war包改名为ROOT放进appBase属性指定的路径下启动服务即可。

附:Tomcat端口说明:

1. 采用记事本打开Tomcat安装目录下的conf文件夹下的server.xml文件。

2. 在server.xml文件中找到以下代码:

(1)<connector port="8080"protocol="HTTP/1.1"connectionTimeout="20000"  redirectPort="8443"/>

此连接器是负责建立HTTP连接。再通过浏览器访问Tomcat服务器的web应用时使用的就是这个端口,如果此端口被占用可将其修改一个未被占用的端口,例如 将上面代码中的port="8080"修改为port="8081",即可将Tomcat的默认端口设置为8081。在修改端口时,应避免与公用端口冲突。建议采用默认的8080端口,不要修改,除非8080端口被其他程序所占用。

(2) <Server port="8005" shutdown="SHUTDOWN">
8005端口是用来关闭Tomcat服务的端口,如果此端口被占用,可在配置文件中将8005改成其他端口

(3)<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />   
 此连接器负责和其他的HTTP服务器建立连接,再把Tomcat与其他的HTTP服务集成时需要使用此连接器。如果此端口被占用,可在配置文件中将8009改成其他端口

(4)<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" clientAuth="false"
keystoreFile="D:\Tomcat6.0\conf\tomcat.key" keystorePass="123456"
sslProtocol="TLS" />

此连接器的作用是启动HTTPS服务,一般的情况此段内容是被注释掉的,只有开启HTTPS服务时才会放开使用,如果此端口被占用则修改8443端口为其他没被占用的端口,并且需要将(1)和(3)中的也要修改

3.  修改成功后,为了使新设置的端口生效,还需要重新启动Tomcat服务器。

相关推荐