如果需要把一个测试版的web应用部署到一台机器上的tomcat中作测试,而这台机器上几经安装了tomcat服务,并且该tomcat服务还运行着其他的一些比较重要的web应用,那我们要怎么做?显然不能简单地把该测试项目和那些重要的web应用放在一起,那样的话该测试版的崩溃会同时使其他应用也不能工作,因为它们是运行在同一个JVM上的。这事就需要再安装一个Tomcat服务来单独运行这个测试版的web应用!(网上搜索了无数文章,经过自己反复测试终于初见成果)
tomcat安装包:
下载地址:http://tomcat.apache.org/index.html
下载内容:必须下载linux版本的tomcat,不可以是windows版本的!!!!!!!!!(http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.zip)
服务器原来的tomcat一般都是windows版本的,没有必要卸载它。(这样才能保证原来服务正常运行)
也可以下载 Windows zip 版本:http://tomcat.apache.org/download-60.cgi
先讲讲原因:
之所以不能使用windows版本安装包是因为:服务名字必须是唯一的,不能冲突。每次安装windows版本的tomcat都是同一服务名称,第二次安装会覆盖第一次第一安装的服务!(当你第二次安装后会发现,即使目录不一样但是,不论启动哪一个服务,使用的环境配置都是一样一样的。)
使用linux版本(绿色版本)就是没有安装的过程,自己手动的配置服务的名称,环境变量等,这样两个tomcat就不会冲突啦
开始安装:
解压tomcat安装包,然后移动到你想要的目录下。
修改conf\server.xml文件,修改里面所有位置涉及到的端口,目的是不跟服务器上已安装的tomcat服务端口冲突。
查找8080,修改为8081;查找8443,修改为8543;查找8009,修改为8019;
查找8005,修改为8015;查找8082,修改为8182
编写并执行InstallService.bat(任意目录)批处理文件。
set JAVA_HOME=d:\Program Files\Java\jdk1.6.0_02
set CATALINA_HOME=D:\tomcat6
D:\tomcat6\bin\service.bat install myTomcat6
myTomcat6 是自己定义的服务名称。服务命名中不要使用点或者下划线或者减号等特殊符号,以避免服务注册不成功。
指定JAVA_HOME可以让tomcat6使用自己的jdk。如不指定,则使用环境变量里面的jdk
系统命令行,输入services.msc,打开Windows服务管理器,可以看到刚才安装的服务myTomcat6,点右键,启动它。
d:\tomcat6\bin\service.bat remove myTomcat6可以删除已注册的服务。
分享经验:
linux版本的tomcat的bin目录下有很多批处理文件,其中*.bat文件才可以在windows下执行,而*.sh文件是linux下执行的。
我们会发现linux版本的tomcat的bin目录下也会有tomcat6.exe,tomcat6w.exe这两个文件,千万不要以打开它,修改一下配置,然后启动服务就可以了。
tomcat6.exe,tomcat6w.exe这两个文件会自动的去打开服务姓名为:“tomcat6” 的服务(其他版本的tomcat同理),如果你执行这两个文件不报错,说明它找到名叫“tomcat6”的服务啦(如果服务器原先是tomcat5那算你幸运)。不管你怎么修改配置,都是针对tomcat6服务的修改,根本不是针对“myTomcat6”服务的配置。(我就整错了,把服务器原先的tomcat服务给整崩溃啦5555555)
设置JVM使用的内存:大家都知道一般windows版本的tomcat安装后可以执行tomcat6w.exe,在弹出的配置界面中配置。但是对于我们linux版本的tomcat在windows通过注册的方式安装的,要如何设置呢?O(∩_∩)O哈哈~
网上都说修改catalina.bat文件增加这一行:set JAVA_OPTS=-Xms512m -Xmx512m。我认为是不可取的,因为我们并没有配置全局的$CATALINA_HOME,catalina.bat不能够执行(也不可能去配置$CATALINA_HOME安装了多个tomcat,去指定哪一个都不行)。而且即时使用catalina.bat启动了服务,只要服务器注销tomcat服务就会停止。
打开注册表:[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0]下,可以看到成功注册的,不同名称的所有tomcat服务,修改吧。
转载于:https://blog.51cto.com/bjiokn/546154