• 一台机子同时启动两个相同版本的tomcat


    其实我的机子之前是可以同时启动两个tomcat的,但是是两个不同版本的tomcat,一个是6.0,一个是7.0,我的环境变量都没有设置,所以我对解压过的tomcat唯一改动的就是在catalina.bat中加入了这两句话

    set JAVA_HOME=D:jdkjdk1.6(你的jdk路径,不要到bin目录,安装目录就行了)
    set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m(设置内存)

    然后将7.0的conf目录下的server.xml的几个端口号都改一下,默认的8080,8009,8005全部换成其他的任意端口号,没被占用的都行,比如9080,9009,9005...

    这样我就可以同时启动两个tomcat了,一个6.0,一个7.0,然后今天想要同时启动两个6.0,发现复制一一份6.0到其他目录,然后端口号也改了,但是同时启动两个6.0是不行的,第二个启动会报错(在logs目录下的文件中能看到)什么Address already in use: JVM_Bind...之类的,网上查了一下,说启动两个相同版本的tomcat时,CATALINA_HOME不能设,或者要设两个不同的,然后改另一个tomcat的startup.bat,把CATALINA_HOME换成CATALINA_HOME2,但是我没有设置CATALINA_HOME啊,而且好麻烦,所以我想我直接设置在tomcat设置CATALINA_HOME行不行呢,然后我在startup.bat的第一行加了三句话:

    set JAVA_HOME=D:jdkjdk1.6(你的jdk路径,不要到bin目录,安装目录就行了)
    set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m
    set CATALINA_HOME=D:apachetomcatapache-tomcat-6.0.37(你的tomcat路径,注意哪个tomcat就写哪个tomcat的解压目录)

    两个tomcat都同时这样设置,注意要在startup.bat中首行添加,在catalina.bat中添加好像是不行的,catalina.bat中的可以去掉了.

    综上,

    在有一个tomcat版本的前提下,复制一份,然后分别给每个tomcat的startup.bat首行添加一下三句话:

    set JAVA_HOME=D:jdkjdk1.6(你的jdk路径,不要到bin目录,安装目录就行了)
    set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m(可以不写)
    set CATALINA_HOME=D:apachetomcatapache-tomcat-6.0.37(你的tomcat路径,注意哪个tomcat就写哪个tomcat的解压目录)

    最后改一下第二个tomcat的server.xml的端口号

    然后就可以同时启动两个相同版本的tomcat了,要启动多个应该差不多的道理...

    注意,catalina.base环境变量一定不要设,设置了tomcat的工作目录那改第二个tomcat的配置文件就不起作用了,不管运行多少个tomcat还是会使用你catalina.base所指向的tomcat目录下的配置文件,这样启动第二个肯定会冲突,CATALINA_HOME环境变量如果设置了,删不删都可以,没有影响,因为在startup.bat中开始已经动态设置了.但catalina.base环境变量如果设了一定要删掉.

  • 相关阅读:
    Kafka之消费者与消费者组
    Kafka之生产者
    基于Redis+Lua的分布式限流
    限流方案常用算法讲解
    分布式服务限流
    微服务框架服务调用与容错
    ZooKeeper实现服务注册中心
    微服务注册中心
    让我自己来整理
    Netty框架
  • 原文地址:https://www.cnblogs.com/NieXiaoHui/p/5849828.html
Copyright © 2020-2023  润新知