1、配置文件server.xml详解
https://www.cnblogs.com/kismetv/p/7228274.html
2、同一电脑启动多台tomcat
参考:https://www.jb51.net/article/110373.htm
版本:tomcat9、Window、免安装版。
修改配置文件conf->server.xml
即可
1、修改shutdown端口
<!-- 默认8005,改为其他空闲端口即可 -->
<Server port="8005" shutdown="SHUTDOWN">
2、修改web默认启动端口
<!-- 默认8080,改为其他空闲端口即可 -->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
maxPostSize="-1"
redirectPort="8443"
URIEncoding="UTF-8" />
OK了。
备注:
1、网上教程修改AJP端口
我这里原本就是注释没启用的,也就没改,也没问题。
<!--
<Connector protocol="AJP/1.3"
address="::1"
port="8009"
redirectPort="8443" />
-->
2、网上关于修改CATALINA_HOME常量或者电脑环境之类的
(原本免安装的tomcat也不用设置环境变量之类的)
这是startup.bat
开头部分代码,set "CATALINA_HOME=%CURRENT_DIR%"
是设置当前目录,也就是他自己处理好路径问题,所以我这里没改也没动环境变量,一样ok。
setlocal
rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
3、logging.properties配置
参考:https://blog.csdn.net/Goodbye_Youth/article/details/106709976
Tomcat日志清理:https://www.jianshu.com/p/46cd0e27fa46
1、日志级别
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
2、日志分类:
- catalina.out
记录了 Tomcat 运行时自身输出的日志以及程序中向控制台 (console) 输出的日志
可以在 Tomcat 的启动脚本 (catalina.sh) 中进行配置
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
-
catalina.YYYY-MM-DD.log
记录了 Tomcat 运行时自身输出的日志,这些日志还会输出到 catalina.out 中
程序中向控制台 (console) 输出的日志不会输出到 catalina.YYYY-MM-DD.log 中 -
localhost.YYYY-MM-DD.log
记录了程序初始化 (listener, filter, servlet) 时,未处理的异常最后被 Tomcat 捕获而输出的日志
这些未处理异常最终会导致程序无法启动 -
localhost_access_log.YYYY-MM-DD.txt
记录了 Tomcat 的访问日志,记录了访问地址、请求时间、请求路径、状态码等信息 -
manager.YYYY-MM-DD.log
记录了 Tomcat 自身 manager 项目 (用于查看 Tomcat Web 应用管理器) 输出的日志 -
host-manager.YYYY-MM-DD.log
记录了 Tomcat 自身 host-manager 项目 (用于查看 Tomcat 虚拟机管理器) 输出的日志
3、配置文件详解
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
// 设置 catalina 日志输出级别为 FINE,默认为 INFO
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
// 设置 catalina 日志存放路径,默认为 ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
// 设置 catalina 日志名称前缀,默认为 catalina.
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
// 设置 catalina 日志最大保存天数,默认为 90 天
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 90
// 设置 catalina 日志编码,默认为 UTF-8
1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8
// 设置 localhost 日志输出级别为 FINE,默认为 INFO
2localhost.org.apache.juli.AsyncFileHandler.level = FINE
// 设置 localhost 日志存放路径,默认为 ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
// 设置 localhost 日志名称前缀,默认为 localhost.
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
// 设置 localhost 日志最大保存天数,默认为 90 天
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 90
// 设置 localhost 日志编码,默认为 UTF-8
2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8
// 设置 manager 日志输出级别为 FINE,默认为 INFO
3manager.org.apache.juli.AsyncFileHandler.level = FINE
// 设置 manager 日志存放路径,默认为 ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
// 设置 manager 日志名称前缀,默认为 manager.
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
// 设置 manager 日志最大保存天数,默认为 90 天
3manager.org.apache.juli.AsyncFileHandler.maxDays = 90
// 设置 manager 日志编码,默认为 UTF-8
3manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
// 设置 host-manager 日志输出级别为 FINE,默认为 INFO
4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
// 设置 host-manager 日志存放路径,默认为 ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
// 设置 host-manager 日志名称前缀,默认为 host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
// 设置 host-manager 日志最大保存天数,默认为 90 天
4host-manager.org.apache.juli.AsyncFileHandler.maxDays = 90
// 设置 host-manager 日志编码,默认为 UTF-8
4host-manager.org.apache.juli.AsyncFileHandler.encoding = UTF-8
// 设置控制台输出日志级别,默认为 FINE
java.util.logging.ConsoleHandler.level = FINE
// 设置控制台输出日志格式,默认为 org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
// 设置控制台输出编码,默认为 UTF-8
java.util.logging.ConsoleHandler.encoding = UTF-8
4、win开启catalina.out日志文件
windows下的tomcat的日志只输出在控制台下,且日志文件输出只有一些基本信息。如何把所有日志都输出到catalina.out,不过有个弊端就是日志在命令行不输出了。
方法1:
1、修改startup.bat
把call “%EXECUTABLE%” start %CMD_LINE_ARGS%
修改为call “%EXECUTABLE%” run %CMD_LINE_ARGS%
2、修改catalina.bat
查找catalina.bat含有%ACTION%的4行内容(在文件末),在后面添加 >> %CATALINA_HOME%\logs\catalina.out
或者>> %CATALINA_BASE%\logs\catalina.out
如果需要分割日志可加 >> %CATALINA_HOME%/logs/catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out
方法2:
1、修改startup.bat
把call “%EXECUTABLE%” start %CMD_LINE_ARGS%
修改为call "%EXECUTABLE%" run %CMD_LINE_ARGS% >> %CATALINA_HOME%/logs/catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out