运行多个Tomcat(Windows平台)一
问题的关键在于,将自己的配置文件与Tomcat软件分开管理。
%CATALINA_BASE%
用来指定 tomcat 实例目录
%CATALINA_HOME%
用来指定 tomcat 软件安装目录
创建tomcat实例的脚本
@echo off
chcp 65001
echo=
rem 第一个要修改的地方
set catalina_home=E:\soft\apache-tomcat\apache-tomcat-9.0.24
echo tomcat安装目录在:%catalina_home%
rem 第二个要修改的地方
echo=
echo 创建 3 个tomcat实例
set catalina_base_dir=E:\soft\apache-tomcat\tomcat-instance\com
rem 第三个要修改的地方
set catalina_base_name=jasper
:A
echo=
echo=
set catalina_base=%catalina_base_dir%\%catalina_base_name%
mkdir %catalina_base%\conf
mkdir %catalina_base%\webapps
echo 在当前目录下 tomcat 实例目录: %catalina_base%
echo 并在 %catalina_base% 目录下,创建两个子目录 conf、webapps
echo 最后,自动复制 %CATALINA_HOME%\conf 目录到 %catalina_base% 目录下
xcopy %catalina_home%\conf\*.* %catalina_base%\conf /s
echo=
echo 自动创建启停脚本
set startup_bat=%catalina_base_name%.startup.bat
echo tomcat启动脚本:%startup_bat%
echo @echo off>%startup_bat%
echo chcp 65001>>%startup_bat%
echo set catalina_base=%catalina_base%>>%startup_bat%
echo set catalina_home=%catalina_home%>>%startup_bat%
echo=>>%startup_bat%
echo set title=%catalina_base_name%>>%startup_bat%
echo call %%catalina_home%%\bin\startup.bat>>%startup_bat%
echo pause>>%startup_bat%
set shutdown_bat=%catalina_base_name%.shutdown.bat
echo tomcat关闭脚本:%shutdown_bat%
echo @echo off>%shutdown_bat%
echo chcp 65001>>%shutdown_bat%
echo set catalina_base=%catalina_base%>>%shutdown_bat%
echo set catalina_home=%catalina_home%>>%shutdown_bat%
echo=>>%shutdown_bat%
echo call %%catalina_home%%\bin\shutdown.bat>>%shutdown_bat%
echo pause>>%shutdown_bat%
rem 第四个要修改的地方
rem 如果要增加一个实例,复制一组,并修改
rem 相应的%catalina_base_name%,和判断条件即可
rem 如果要减少一个实例,从后面删除一组即可
:B
if %catalina_base_name% == jasper (
set catalina_base_name=jade
goto A
)
:C
if %catalina_base_name% == jade (
set catalina_base_name=hello
goto A
)
pause
根据自己的情况,最多有四个修改的地方。
最后,手动操作第3、4步即可。
附录
cmd命令行乱码
问题的关键在于,批处理文件使用的编码格式与cmd
当前窗口编码格式,要适配。
建议都使用UTF-8
格式。
- 批处理文件编码格式,略
cmd
当前窗口编码格式,使用命令chcp 65001
,来设置UTF-8
编码格式。
tomcat 启动日志乱码
问题的关键在于,日志输出编码格式与cmd
当前窗口编码格式,要适配。
-
tomcat 启动日志乱码问题
-
打开
%catalina_base%/conf/logging.properties
配置文件,搜索java.util.logging.ConsoleHandler.encoding
,如下图所示这一行是日志的编码, 将
UTF-8
改成GBK
,如下图所示修改成功,点击保存。
-
重新启动Tomcat
问题解决。