Tomcat笔记

安装
wget https://mirrors.huaweicloud.com/apache/tomcat/tomcat-7/v7.0.96/bin/apache-tomcat-7.0.96.tar.gz
tar zxvf apache-tomcat-7.0.96.tar.gz
cd apache-tomcat-7.0.96/bin
./startup.sh
配置文件

8005端口是关闭tomcat进程所用。当执行shutdown.sh关闭tomcat时就是连接8005端口执行“SHUTDOWN”命令--由此,我们直接telnet8005端口执行“SHUTDOWN”也可以成功关闭tomcat.

<Server port="8005" shutdown="SHUTDOWN">

由于我们通常使用 kill -9 pid, 改为

<Server port="-1" shutdown="SHUTDOWN">

tomcat7 默认使用bio,现修改为 nio

<Connector port="8080" protocol="HTTP/1.1"

改为

<Connector executor="tomcatThreadPool" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"

8009:apache httpd 反向代理tomcat时就可以使用使用ajp协议反向代理到该端口由于我们使用 Nginx 代理 tomcat,所以注释掉

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

改为

<!-- Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
Tomcat 日志优化

默认情况下,Tomcat会产生这些日志

catalina.2019-08-16.log	#tomcat运行的一些日志,这些日志还会输出到catalina.out,没用
catalina.out #tomcat的标准输出(stdout)和标准出错(stderr),非常重要,保留
host-manager.2019-08-16.log #虚拟主机日志,没用
localhost.2019-08-16.log #程序异常没有被捕获的时候抛出的地方,如内存溢出,比较重要,保留
localhost_access_log.2019-08-16.txt #tomcat访问日志记录,没用
manager.2019-08-16.log # 管理日志,没用

日志级别

SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

以 catalina.out 为例:

设置日志级别

1catalina.org.apache.juli.FileHandler.level = FINE

禁用日志

1catalina.org.apache.juli.FileHandler.level = OFF

输出所有

1catalina.org.apache.juli.FileHandler.level = ALL

以下为 Tomcat7 的 logging.properties 例子

[root@tomcat1 conf]# egrep -v "^#|^$" logging.properties
handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
1catalina.org.apache.juli.FileHandler.encoding = UTF-8
2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.
2localhost.org.apache.juli.FileHandler.encoding = UTF-8
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8

关闭 localhost_access_log.2019-08-16.txt,修改 server.xml

        <!-- Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" /> -->

效果如下:

catalina.2019-09-06.log
localhost.2019-09-07.log
catalina.out

日志处理,由于catalina.out日志时间长了会变得很大,需要定时切割。

这里我们使用 lograte 工具

[root@tomcat1 logrotate.d]# cat live
/data/tomcat/live/logs/catalina.out {
daily
dateext
rotate 3
missingok
copytruncate
compress
}

注释:

daily #每天进行

dateext #每天执行一次,同时转储旧日志时用日期格式"YYMMDD"代替简单的数字作为标记

rotate 3 #只保留3个副本

missingok #如果要轮转的文件丢失了,继续轮转而不报错

copytruncate #创建新的catalina.out副本后,截断源catalina.out文件

compress #压缩

Tomcat 7 简单定制的更多相关文章

  1. tomcat的简单安装及配置

    实验系统:CentOS 6.6_x86_64 实验前提:防火墙和selinux都关闭 实验软件:apache-tomcat-8.0.24 jdk-8u60-linux-x64 jeecms-v6 一. ...

  2. Tomcat的简单归纳总结

    2017年08月09日 12:39:23 大道之简 阅读数:1072    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/HcJsJqJSSM/ar ...

  3. 【Python044--魔法方法:简单定制】

    一.简单定制 基本要求: -- 定制一个计时器的类 -- start和stop代表开始计时和停止计时 -- 假设计时器对象t1,print(t1)和直接调用t1均显示结果 -- 当计时器未启动或停止计 ...

  4. ubuntu下启动和关闭tomcat的简单方法

    在ubuntu下面,我们安装tomcat可以有两种方式[1]用aptitude安装aptitude install tomcat6 [2]免安装版从apache tomcat 网站下载apache-t ...

  5. Android中Tomcat的简单配置和使用

    因为学Android已经有一段时间了,但是在学校,服务器方面是个短板啊,没有专门的服务器拿给我们学生练手,所以只有自己找办法了.当然,Tomcat就是不二的选择了. 在网上看了看资料,还是觉得自己记录 ...

  6. Tomcat服务器简单测试jsp文件和html文件

    在tomcat里面的webapps文件夹下面新建一个test文件, 写一个test.html的文件,一个test.jsp的文件,两个文件的内容全是:2+2=<%=2+2%> 重新启动Tom ...

  7. 内嵌tomcat最简单用法

    maven项目引入内嵌tomcat依赖 <dependency> <groupId>org.apache.tomcat.embed</groupId> <ar ...

  8. Windows下nginx+tomcat实现简单的负载均衡

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请 ...

  9. tomcat的简单配置与适用默认的web应用

    指定tomcat端口: server.xml: <Connector port="8080" protocol="HTTP/1.1" connection ...

随机推荐

  1. mkvirtualenv管理python版本

    centos7安装pip 安装pip yum -y install epel-release yum -y install python2-pip 安装virtualenvwrapper pip in ...

  2. Linux学习—yum命令(转载)

    yum简介 yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 基於RPM包管理,能够从指定的服务器自动 ...

  3. iptable规则的执行顺序

    众所周知,iptable的中包含了各种各样的table和规则链条.这篇博文对规则链的执行顺序做一个简单的介绍. Chain OUTPUT (policy ACCEPT)target prot opt ...

  4. 【计算机视觉】Histogram of Oriented Gridients(HOG) 方向梯度直方图

    Histogram of Oriented Gridients(HOG) 方向梯度直方图 Histogram of Oriented Gridients,缩写为HOG,是目前计算机视觉.模式识别领域很 ...

  5. layui select 联动渲染赋值不了数据的问题

    今天用 layui做select的时候,数据老是看不到,而且联动的数据是对不上的,看了网上一堆是 最后要用 form.render('select'); 这个是必须的, 但是我用了还是这样,其实是la ...

  6. JS动态添加的标签无法绑定事件解决方案~~~

    今天用ajax实现动态插入数据时发现监听一直不起作用,一样的代码,非动态的就可以监听实现 这是困扰了我近一个小时的bug,后面才理解到可能是动态插入导致的! 看了看网上的解决方案,似乎都不太通俗,讲的 ...

  7. (企业面试)描述Linux系统的启动过程?

    1简单描述(口头): 1.开机BIOS自检(检查硬件,cpu,主板,内存……) 2. MBR引导 硬盘 0 柱面 0 磁道 1 扇区的前446byte 3.  grub 引导菜单 cat/etc/gr ...

  8. C语言 --- 初级指针

    1.内存的访问:直接访问,间接访问.     直接访问:int a = 0;直接对a赋值.选一个内存地址,让他存20这个数.                  a += 10;             ...

  9. docker-compose.yml 部署Nginx、Java项目、MySQL、Redis

    version: "3.7" services: nginx: image: nginx restart: always container_name: nginx environ ...

  10. Autofac 组件、服务、自动装配

    一.组件 创建出来的对象需要从组件中来获取,组件的创建有如下4种(延续第一篇的Demo,仅仅变动所贴出的代码)方式: 1.类型创建RegisterType AutoFac能够通过反射检查一个类型,选择 ...