Tomcat下搭建同IP不同端口的多站点

    环境:Tomcat7.0.55
    Tomcat下搭建同IP不同端口的多站点

Tomcat多使用在开发环境里,但有时也做生产环境。在生产环境下多会碰到,需要在一个tomcat下放置多个站点的情况。有时还需要同时打开多个不同的端口,接受多个域名请求的情况。通常这种情况会开启多个tomcat实例。这种方法有如下利弊:

优点:1.每个站点相互独立,互相不受干扰。不会因为一个站点繁忙导致,其它站点受影响。2.可以对tomcat,做高度自定义。当需要做一些对容器不安全的情况下。为保证其它站点不受影响,可以使用这种情况。如:需要开启自定义线程。

缺点:1.浪费系统资源,虽然tomcat占用系统资源很少,但实例过多的话浪费还是很严重的。由于tomcat有内存溢出的问题,需要改大内存,这样就导致系统资源的大量浪费。2.管理不方便,无论是调优,还是日常的启动,关闭,端口管理。虽然linux下很多命令很方便,但还是很麻烦。

在修改配置文件之前,注意先备份一份!
打开配置文件server.xml
在最后添加一个service,代码如下:

<Service name="Catalina2">  

   <Connector port="8082" protocol="HTTP/1.1"  
              connectionTimeout="20000"  
              redirectPort="8443" />  

   <Engine name="Catalina2" defaultHost="localhost">  

     <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  
            resourceName="UserDatabase"/>  

     <Host name="localhost"  appBase="webapps_two"  
           unpackWARs="true" autoDeploy="true"  
           xmlValidation="false" xmlNamespaceAware="false">  

     </Host>  
   </Engine>  
 </Service>



以上代码即可实现创建一个新的服务Ctalina2,端口为8082,appBase是

Tomcat下搭建同IP不同端口的多站点

 


这里写图片描述
图片里面的webapps_two,得自己新建一个
然后重启Tomcat服务,即可访问 http://localhost:8082的站点
如果访问失败,有可能是防火墙的原因
在防火墙高级设置-入站规则-新建规则 里面添加可访问8082这个端口的规则

上一篇:robots 协议介绍


下一篇:Nginx https转http 微信内部浏览器报跨域问题