一: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应用实践