`
java-boy
  • 浏览: 245006 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Tomcat 多端口,多虚拟主机配置方法

    博客分类:
  • Java
阅读更多

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

优点:1.每个站点相互独立,互相不受干扰。不会因为一个站点繁忙导致,其它站点受影响。

            2.可以对tomcat,做高度自定义。当需要做一些对容器不安全的情况下。为保证其它站点不受影响,可以使用这种情况。如:需要开启自定义线程。

 

缺点:1.浪费系统资源。虽然tomcat占用系统资源很少,但实例过多浪费还是很严重的。由于tomcat有内存溢出的问题,需要改大内存,而这样导致了系统资源的大量浪费。

            2.管理不方便,无论是调优,还是日常的启动,关闭,端口管理。虽然Linux下很多命令很方便,但还是很麻烦。

 

       我曾经发现有的服务器上,最多部署过6个tomcat,内存的浪费可想而知了...

 

       有时真的很羡慕windows上的IIS,我想没几个见过一台windows上跑多个IIS吧?所以我认真的花时间研究了一下,tomcat配置,实际上tomcat支持多端口,多虚拟目录的情况,多个服务的方式,可见tomcat配置很灵活。需要修改conf/server.xml

 

首先是让tomcat监听多个端口:

 

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

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

 

只需填加一个Connector就可以了。

 

         但这种方法有一个缺点是,两个端口处理的东西是一样的,也就是访问8081和8082的内容是一样的。这种适合需要使用指定模个端口的情况。

 

接下来是让tomcat,一个为不同域名服务。

 

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

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

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

      <Host name="www.java.com"  appBase="webapps2"
            unpackWARs="true" autoDeploy="true"
	    xmlValidation="false" xmlNamespaceAware="false">
      </Host>
 </Engine>
 

只需填加一个Host就可以了,appBase需要使用另外一个目录。这样不同域名,访问不同目录。

 

         最后,我们可能希望,Tomcat可以使用不同IP,访问不同目录。除了进程是一个,其它跟俩个实例一样。这个xml比较多,只列出需要的部分。

 

 <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="webapps2"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

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

 

       上面是需要新增到xml里面的。就是添加了一个Service。Service name, Engine name,host appBase都需要修改。这样就可以一个tomcat完成俩个实例工作了。

0
1
分享到:
评论
1 楼 plane 2012-06-06  
thanks

相关推荐

    tomcat虚拟目录和虚拟主机的配置

    tomcat虚拟目录和虚拟主机的配置。照葫芦画瓢就可以,建议先搞,然后再了解原理。 1.可以一个端口地址后面跟多个web,这个可能软件部署的时候用的比较多 2.也可以一个tomcat配置多个站点,绑定多个域名。这种可能是...

    Tomcat基于域名的虚拟主机.doc

    tomcat的8005端口是用来关闭服务的,如果服务关闭不了那就执行下边操作,如果服务能正常访问,能正常关闭,那就不需要执行下边操作

    Tomcat配置管理实践

    3,TOMCAT端口管理 4,TOMCAT账号管理 5,TOMCAT配置数据库 6,TOMCAT监控软件安装 7,TOMCAT环境变量 8,TOMCAT和JVM的配置 9,TOMCAT基于名称的虚拟主机 10,TOMCAT IP访问控制 11,TOMCAT访问日志记录 12,...

    Tomcat最佳实践.rar

    3,TOMCAT端口管理 4,TOMCAT账号管理 5,TOMCAT配置数据库 6,TOMCAT监控软件安装 7,TOMCAT环境变量 8,TOMCAT和JVM的配置 9,TOMCAT基于名称的虚拟主机 10,TOMCAT IP访问控制 11,TOMCAT访问日志记录 12,...

    TOMCAT最佳实践

    3,TOMCAT端口管理 4,TOMCAT账号管理 5,TOMCAT配置数据库 6,TOMCAT监控软件安装 7,TOMCAT环境变量 8,TOMCAT和JVM的配置 9,TOMCAT基于名称的虚拟主机 10,TOMCAT IP访问控制 11,TOMCAT访问日志记录 12,...

    JavaWeb程序Tomcat及Servlet配置:实例与组件包-zip压缩包

    配置Tomcat通常包括设置端口号、虚拟主机、SSL/TLS证书、线程池等。 Tomcat的server.xml文件是主要的配置文件,其中定义了上述的各种设置。 Servlet: Servlet是JavaWeb应用程序的一部分,它扩展了服务器的功能。 ...

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡

    然后再设置TOMCAT虚拟主机 2 配置 tomcat 2.1. 配置 server 的关闭 我们需要在一台机器上跑 4 个不同的 tomcat ,需要修改不同的 tomcat 的关闭口,避免出现端口被占用的情况。在 TomcatA\conf, TomcatB\conf, ...

    Tomcat6.x+IIS6+jk2最新整合

    软件环境:Window server 2003+ IIS6.0 + Tomcat6.0 + JK2 ...tomcat的一些虚拟主机配置可以见配置文件server.xml 在访问过测试页后ISAPI筛选器"jakarta"会显示绿色箭头,红色是配置错误 不知道还有没有漏掉的

    Tomcat6.x+IIS6+jk2 整合

    软件环境:Window server 2003+ IIS6.0 + Tomcat6.0 + JK2 ...tomcat的一些虚拟主机配置可以见配置文件server.xml 在访问过测试页后ISAPI筛选器"jakarta"会显示绿色箭头,红色是配置错误 不知道还有没有漏掉的 ^_^

    jsp全攻略,tomcat技术

    (表示一个虚拟主机) name 指定主机名 appBase 应用程序基本目录,即存放应用程序的目录 unpackWARs 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序 Logger

    kangle最新版linux安装包

    可以设置每个虚拟主机独立进程,独立身份运行(虚拟主机商的最爱,安全的实现虚拟主机功能); 商业版还带有独特的防CC攻击和限制虚拟主机cpu的功能,自动监测动态网页的访问频率,一但达到设定的阀值,自动对该网页保护,...

    zabbix监控Nginx/Tomcat/MySQL

    A机器:zabbix服务端(192.168.234.128) B机器:zabbix客户端(192.168.234.125) 在B机器(zabbix客户端)操作: 编辑nginx虚拟主机配置文件: 在server{}中添加以下内容: 重载nginx配置

    Nginx实现根据域名http、https分发配置示例

    tomcat端口:8080 做好虚拟主机 nginx端口:80 根据域名分派 在conf/nginx.conf中的http中增加 代码如下: include www.jb51.net.conf 新建conf/www.jb51.net.conf,内容如下: 代码如下: server { listen 80; ...

    sso-learning:单点登录专题学习

    sso-learning 单点登录专题学习 Tip1: 用Tomcat配置虚拟主机 虚拟主机的定义: 一台物理机上面搭建多个web站点,每个站点独立运行,互不干扰,这些站点...所以理论上也存在3种不同的虚拟主机配置方案。 浏览器访问WEB资

    与DNS配置有关的nginx服务器配置

    要求 Nginx可以通过域名构建虚拟主机的方式同时对外提供 http://www.example.com, http://erp.example.com, http://oa.example.com 三个网站的访问。 访问 http://www.example.com 网站返回的HTML代码“&lt;h1&gt; ...

    evenup-apache:安装、配置和运行 apache 服务。 维护模块配置文件和虚拟主机

    该模块已在 CentOS 6 上编写和测试,主要用于配置 apache 作为 Tomcat 的代理,通过 AJP 和其他服务通过 TCP,但它也支持 mod_passenger、mod_python 和 mod_wsgi。 提供了通过 vhost、规则或 IP 禁用 mod_security...

    服务器全能环境UPUPW ANK 64位版.zip

    05、优化删除虚拟主机状态按钮,由“完成”改成“确定”便于理解。  06、优化Apache错误日志,由warn改成crit以减少日志文件大小。  07、优化Apache证书端口监听配置防止http和https混淆。  ...

    计算机应用基础第六章.doc

    1 【多选题】关于计算机网络、服务器和客户机,下列说法正确的是( ) 窗体...server 12 【填空题】 在Apache+Tomcat服务器配置中,Tomcat的主要功能是( )服务器,负责执行服务器页 中的服务端脚本程序。 正确答案:

    Jetty中文手册

    如何配置虚拟主机(Virtual Hosts) 如何配置会话ID(Session IDs) 如何序列化会话(Session) 如何重定向或移动应用(Context) 如何让一个应用响应一个特定端口 使用JNDI 使用JNDI 在JNDI中配置数据源...

    java 面试题 总结

    如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 15、error和exception有什么区别? error 表示恢复不是...

Global site tag (gtag.js) - Google Analytics