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