zoukankan      html  css  js  c++  java
  • Tomcat:云环境下的Tomcat设计思路——Tomcat的多实例安装

     Cloud现在是一个热门的技术,Tomcat是学习Java的人一般都会接触的Web服务器,如果在Cloud环境下使用Tomcat,又当如何呢?不可避免的,要安装多个Tomcat了,这里称之为Tomcat实例,进而通过云平台来多Tomcat进行管理。

             如何在一台机器上安装多个Tomcat实例呢?

    这个问题想必使用过Tomcat的人都知道:

    1)  下载Tomcat.zip

    2)  解压,后的Tomcat拷贝1份,每一份就称之为一个实例,并修改Tomcat实例的tomcat_home/conf/server.xml中的端口就OK了。

    3)  创建其实实例,只需要重复步骤2)。

    不错,的确是这样,这样可以说是简单又容易操作。但是,还有另外的处理方式,是一种类似于WebLogic、Glassfish的处理方式。

    Glassfish的处理方式可以总结为:

    1)  安装Glassfish,(这个过程就将Glassfish通用的jar包放在一个共用的地方)

    2)  创建每个实例,只要添加相应的配置,work dir即可。

    仿照这种处理思路来安装多个Tomcat:

    1)  解压到安装目录

    2)  创建Tomcat实例:拷贝config、logs、tmp、webapps、work目录,然后修改config/server.xml中的端口即可。

    3)创建其它实例,只需要重复步骤2)。

    示例:

     

    1)解压apache-tomcat-6.0.41,

    2)安装Tomcat实例:创建实例目录apache-tomcat-6.0.41-instances,并在该目录创建ins1、inst2目录,用于作为两个实例的目录。拷贝conf、logs、temp、webapps、work到ins1、ins2目录下。

    3)修改实例port:ins1使用默认端口,修改ins2中的端口,即:

    Ins2端口为:8005 –>9005 、8080--à9080 、8443--à9443

     

    4)创建startup.bat文件,并copy到ins1、ins2目录下:

     

    代码如下:

    @echo on
    @echo delete work directory ...
    rmdir /S/Q %CD%work
    
    @echo set env ...
    SET JAVA_HOME=E:Program FilesJavajdk1.8.0_20
    SET PATH=%JAVA_HOME%in;%PATH%
    
    @echo instance root directory
    SET CATALINA_BASE=%CD%
    
    
    @echo start instance
    cd ../../apache-tomcat-6.0.41/bin
    catalina.bat start
    View Code


    5)访问测试:访问ins1、ins2:
     

    分别执行ins1、ins2下的startup.bat文件启动ins1、ins2。

    在浏览器上输入http://localhost:8080http://localhost:9080 都可以访问到Tomcat的首页。

     

    Cloud相关的设计,其实就是利用这个原理来实现的。

    =============================================================

    下面是Tomcat 官方文档中的说法:

    Tomcat supports installation of multiple instances. You can have a single installation of Tomcat with multiple instances running on different IP/port combinations, or multiple Tomcat versions, each running one or more instances on different IP/ports.

    Each instance folder will need the following structure:

    • conf
    • logs
    • temp
    • webapps
    • work

    At a minimum, conf should contain a copy of the following files from CATALINA_HOMEconf. Any files not copied and edited, will be picked up by default from CATALINA_HOMEconf, i.e. CATALINA_BASEconf files override defaults from CATALINA_HOMEconf.

    • server.xml
    • web.xml

    You must edit CATALINA_BASEconfserver.xml to specify a unique IP/port for the instance to listen on. Find the line that contains <Connector port="8080" ... and add an address attribute and/or update the port number so as to specify a unique IP/port combination.

    To install an instance, first set the CATALINA_HOME environment variable to the name of the Tomcat installation directory. Then create a second environment variable CATALINA_BASE and point this to the instance folder. Then run "service install" command specifying a service name.

    set CATALINA_HOME=c:	omcat_8
    set CATALINA_BASE=c:	omcat_8instancesinstance1
    service install instance1

    ==================================================================== 

    在多实例安装的情况下,一般对于同一个Tomcat集群,会使用共享webapps目录的。也就是在同一个集群下的Tomcat实例的server.xml中<Host appBase=“设置为同一个目录”/>

  • 相关阅读:
    Cocos2d-x游戏《雷电大战》开源啦!要源代码要资源快快来~~
    Tomcat部署项目时出错java.lang.IllegalStateException: ContainerBase.addChild: start:org.apache.catalina.Life
    PCA主成分分析Python实现
    C语言知识结构之二
    javascript中构造函数的返回值问题和new对象的过程
    poj 1694 An Old Stone Game 树形dp
    Android新技术学习——阿里巴巴免Root无侵入AOP框架Dexposed
    c++中vector向量几种情况的总结(向量指针,指针的向量)
    Hash分析
    三期_day05_Dao层的准备工作_II
  • 原文地址:https://www.cnblogs.com/f1194361820/p/4306105.html
Copyright © 2011-2022 走看看