IT-多tomcat自动启动(踩坑)
自动启动(windows):
apache-tomcat-7.0.34-A
1.设置环境变量(前提是java环境变量已经设置好了)
CATALINA_BASEA=E:\apache-tomcat-7.0.34-A
CATALINA_HOMEA=E:\apache-tomcat-7.0.34-A
TOMCAT_HOMEA=E:\apache-tomcat-7.0.34-A
2.更改Tomcat的 catalina.bat、startup.bat、shutdown.bat ,service.bat把上提到的三个文件里的CATALINA_HOME常量改为CATALINA_HOMEA。CATALINA_HOME 替换为 CATALINA_HOMEA 注意全部查看是否全部替换完成
3.如果没有service.bat,官网下载对应版本增加 service.bat,tomcat7.exe ,tomcat7w.exe。下载版本为apache-tomcat-xxxxxxxxx-windows-x64.zip
4.将tomcat设置为服务,cmd进入对应文件夹tomcat\bin, 执行命令 service.bat install 移除服务:service.bat uninstall
5.如果服务名冲突,修改service.bat服务名称
set SERVICE_NAME=Tomcat7_xx
set PR_DISPLAYNAME=Apache Tomcat 7_xx
一台服务器多个tomcat在4-5步骤中参考下面的步骤执行
踩坑:
同一台服务器上有多个tomcat,都注册为服务自动启动,需要注意以下问题:
A.修改service.bat的指向路径,修改tomcat7w.exe,tomcat7.exe名称
B.需要修改service.bat每个tomcat的服务名称,否则tomcat7w.exe会指向同一个tomcat服务
C.在xxx.bat中设置的内存大小变量在服务中会失效,需要重新设置,在tomcat7w.exe重新配置
具体步骤:
1.修改tomcat7w.exe,tomcat7.exe名称,将tomcat7.exe修改为tomcat7A.exe作为tomcat服务执行命令区分;tomcat7w.exe修改为tomcat7_A.exe,作为当前tomcat的服务名称,与service.bat中的服务名称保持一致。
2.修改service.bat执行命令路径,如if exist "%CATALINA_HOME%\bin\tomcat7.exe" goto okHome 将tomca7.exe改为tomcat7A.exe,指向当前tomcat
3.修改service.bat服务名称,
set SERVICE_NAME=Tomcat7 修改set SERVICE_NAME=Tomcat7_A ,该名称与tomcat7w.exe修改后的名称保持一致
set PR_DISPLAYNAME=Apache Tomcat 7 修改为set PR_DISPLAYNAME=Apache Tomcat 7_A
4.管理员双击执行tomcat7_A.exe,进入配置界面
4.1 查看General标签下的Path to executable下的路径,是否指向当前的tomcat执行路径
4.2java标签下Java Options框内增加如下内容,修改内存变量
-XX:PermSize=128M
-XX:MaxPermSize=1024m
-XX:ReservedCodeCacheSize=48m
内存大小参数根据服务器硬件需求配置
4.3java标签下Intitial memory pool;Maxinum memory pool值根据条件可以设置大些
5.在service.bat中找到下面这句:
set "SELF=%~dp0%service.bat"
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
在这句后面加上下局:
set JAVA_OPTS = -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true
内存大小参数根据服务器硬件需求配置
参考链接:https://www.cnblogs.com/qlqwjy/p/8007490.html