一:tomcat简介
1、简介
Tomcat服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来
说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,
所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
Tomcat的官网:http://tomcat.apache.org/
2、目录介绍
目录:backup、bin、conf、lib、logs、temp、webapps、work、wtpwebapps。
文件:LICENSE、NOTICE、RELEASE-NOTES、RUNNING.txt。
backup
保存了一些配置文件,是在第一次运行了Tomcat服务器以后产生的。它是对服务器进行简单的备份日志。和conf文件下的内容几乎一样。
bin
主要用来存放Tomcat的命令,很多环境变量也在此处设置。
startup.bat、shutdown.bat代表Windows系统下启动/关闭Tomcat的命令。startup.sh、shutdown.bat代表Linux下的启动/关闭Tomcat的命令。catalina可以设置Tomcat内存。
conf
存放tomcat服务器全局配置的各种文件。
backup文件夹为它的备份。
catalina目录下可以设置默认加载的项目。
catalina文件可以设置tomcat服务器内存大小。
context.xml可以用来配置数据源之类的东西。
logging文件记录tomcat服务器运行的日志记录。
server.xml可以设置域名、端口号、IP、请求的编码、默认加载的项目。
web.xml可以设置tomcat服务器支持的文件类型。
lib
存放Tomcat服务器所需要的所有Jar包。
log
存放Tomcat执行时的日志文件。清除此文件不会对Tomcat服务器产生影响。开始时此文件目录为空。只有运行了Tomcat才会在此目录下生成日志文件。
temp
存放Tomcat执行过程中产生的临时文件。清除此文件不会影响Tomcat服务器。
webapps
tomcat默认部署路径。目录用来存放应用程序,当Tomcat启动时会加载webapps目录下的应用程序。可以以war包、Jar包、普通文件夹三种形式发布应用。你也可以把应用程序
存放在电脑磁盘的任意一个位置,但是在配置文件中要配置好,使其映射好。
LICENSE、NOTICE、RELEASE-NOTES、RUNNING.txt
Tomcat服务器的一些签证,运行,注意的信息。
二:tomcat配置
1、添加VisualVM监视
--在tomcat的bin目录下catalina.sh文件头部添加如下参数:
CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=JMX_HOST"
CATALINA_OPTS="${CATALINA_OPTS} -Djavax.management.builder.initial="
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote=true"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.port=JMX_PORT"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"
CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false"
三:tomcat知识点
1、tomcat日志
日志配置文件:
tomcat目录下的/conf/logging.properties。
日志等级:
日志输出级别:SEVERE (最高级别) > WARNING > INFO > CONFIG > FINE > FINER(精心) > FINEST (所有内容,最低级别)
日志类型:
五类日志 :catalina、localhost、manager、admin、host-manager
catalina.out
即标准输出和标准出错,所有输出到这两个位置的都会进入catalina.out,这里包含tomcat运行自己输出的日志以及应用里向console输出的日志。默认这个日志文件是不会进行自动切割
的,我们需要借助其他工具进行切割(注意:catalina.out文件如果过大会影响)
catalina.{yyyy-MM-dd}.log
tomcat自己运行的一些日志,这些日志还会输出到catalina.out,但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log,它是tomcat的启动和暂停时的运行日志。
localhost.{yyyy-MM-dd}.log
主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,它也是包含tomcat的启动和暂停时的运行日志,但它没有catalina.2018-09-19.log 日志全。
它只是记录了部分日志。
localhost_access_log.2018-09-19.txt
这个是访问tomcat的日志,请求时间和资源,状态码都有记录。
host-manager.2018-09-19.log
这个估计是放tomcat的自带的manager项目的日志信息的,未看到有什么重要的日志信息。
manager.2018-09-19.log
这个是tomcat manager项目专有的日志文件
日志文件切割:
tomcat的catalina.out文件是不会进行日志切割的,当这个文件大于2G时,会影响tomcat的运行。
方法一:cronolog分割(不推荐)
Linux 日志切割工具cronolog详解:https://blog.csdn.net/chenkeqin_2012/article/details/52670887
方法一:使用.sh脚本(不推荐)
略
方法三:使用log4j
1、在tomcat根目录下建立common/classes/log4j.properties,内容如下
log4j.rootLogger=INFO, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${catalina.home}/logs/tomcat.newlog #设定日志文件名
log4j.appender.R.MaxFileSize=100KB #设定文件到100kb即分割
log4j.appender.R.MaxBackupIndex=10 #设定日志文件保留的序号数
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
2、在tomcat根目录下的common/lib下加入log4j.jar和commons-logging.jar
3、重新启动tomcat即可。
四:tomcat应用实践