1 安装cronolog 1[root@app_51 ~]$ yum install -y cronolog 2[root@app_51 ~]$ which cronolog 3/usr/sbin/cronolog 2 修改tomcat的catalina.sh 1 [ghl@app_51 ~]$ cd /home/ghl/tomcat/apache-tomcat-8.5.37/bin/ 2 [ghl@app_51 bin]$ cp catalina.sh catalina.sh.bak 3 #需要将第
2011-5-8 23:56:36 org.apache.catalina.core.AprLifecycleListener init
Tomcat的脚本在bin目录下,有:catalina、startup、shutdown、setenv、digest、version等。
实际上,之前创建了一个名为spring的项目,已经删除。现在运行其他项目,报错找不到已经删除的项目。
在配置负载均衡环境过程中修改server.xml 后重启tomcat报错,报错信息如下
复制三个tomcat压缩包分别解压到三个文件夹下 配置profile vim /etc/profile 加入如下代码 ##########8081 tomcat########### CATALINA_BASE=/usr/java/apache-tomcat-9.0.13 CATALINA_HOME=/usr/java/apache-tomcat-9.0.13 TOMCAT_HOME=/usr/java/apache-tomcat-9.0.13 export CATALINA_BASE CATALINA
This chapter focuses on Tomcat startup using two classes in the org.apache.catalina.startup package, Catalina and Bootstrap. The Catalina class is used to start and stop a Server object as well as parse the Tomcat configuration file, server.xml. The Bootstrap class is the entry point that creates an instance of Catalina and calls its process method. In theory, these two classes could have been merged. However, to support more than one mode of running Tomcat, a number of bootstrap classes are provided. For example, the aforementioned Bootstrap class is used for running Tomcat as a stand-alone application. Another class, org.apache.catalina.startup.BootstrapService, is used to run Tomcat as a Windows NT service.
问题: tomcat每次启动时,自动在logs目录下生产以下日志文件,且每天都会生成对应日期的一个文件,造成日志文件众多,而且不知道各个文件记录的信息大致内容。
启动 Tomcat 时, catalina.out 中输出的日志格式可能不太理想。
九月 08, 2017 10:18:19 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:war_item' did not find a matching property. 九月 08, 2017 10:
vi /etc/profile 在其中加入 ##########first tomcat########### CATALINA_BASE=/usr/local/tomcat CATALINA_HOME=/usr/local/tomcat TOMCAT_HOME=/usr/local/tomcat export CATALINA_BASE CATALINA_HOME TOMCAT_HOME ##########first tomcat############ ##########second tomcat########## CATALINA_2_BASE=/usr/local/tomcat_2 CATALINA_2_HOME=/usr/local/tomcat_2 TOMCAT_2_HOME=/usr/local/tomcat_2 export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME ##########second tomcat########## 保存退出。 #source /etc/profile 来到第二个tomcat的bin目录下 在catalina.sh中加入 export CATALINA_BASE=$CATALINA_2_BASE export CATALINA_HOME=$CATALINA_2_HOME 最后把tomcat_2/conf下的server.xml打开 修改shudown端口与启动端口。 <Server port="8005" shutdown="SHUTDOWN"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 这样就可以在linux下同时运行两个tomcat了。运行更多tomcat方法是一样的。 要点就是tomcat启动的时候会去查找tomat 的根目录,而这是通过查询系统环境变量CATALINA_HOME 以及 CATALINA_BASE 来做到的,于是我们只需要设置这两个变量即可。 现在我们把tomcat拷贝成2份,分别为 tomcat1 和 tomcat2,tomcat1 我们使用之前配置好的默认配置(CATALINA_HOME 以及 CATALINA_BASE 均指向 tomca1 目录),但tomcat2 我们不能再使用系统上配置的这两个变量了,那么我们就在 tomcat2的bin目录下面的 catalina.sh 临时修改设置 CATALINA_HOME 和 CATALINA_BASE 为tomcat2的根目录即可,如果再加tomcat 以此类推即可。
可能shutdown.sh 无法停止 tomcat,可以修改其配置 修改shutdown.sh的最后这一行
上图中的 CATALINA_HOME 指Tomcat安装路径,CATALINA_BASE 指实例所在位置。 CATALINA_HOME 路径下只需要包含 bin 和 lib 目录,而 CATALINA_BASE 只存放 conf、webapps、logs 等这些文件,
sqoop2-1.99.2-cdh4.5.0在安装过程中遇到各种NoClassDefFoundError异常,例如:
Linux系统下怎样配置多个Tomcat同时运行呢,首先修改变量为第一个tomcat,然后修改第二个tomcat启动的脚本
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
tomcat有五类日志:catalina、localhost、manager、admin、host-manager
#可配置项(5类日志):catalina、localhost、manager、admin、host-manager 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.Conso
先吐嘈一下tomcat这个项目,日志切割这么常见的功能,tomcat这种知名开源项目默认居然不开启,生产环境跑不了几天,磁盘就满了,而且很多网上流传的方法,比如修改conf/logging.properties文件,将级别设置成OFF,我试了好象并不管用(tomcat 8.5.9.0版本 + centos 6.5 + jdk1.8环境) 正确姿势: 1、下载 https://mirrors.tuna.tsinghua.edu.cn/apache/logging/log4j/1.2.17/log4j-1.2.
检查<url-pattern></url-pattern>中配置的内容是否缺少“/” ,"/"表示当前web应用。
此前虽然对Tomcat有一些了解,但是在使用的时候总感觉云里雾里,索性趁着现在比较清闲,把Tomcat的基础知识整理一下,不足之处还请各位路过的客官多多指正。
在使用Eclipse进行Spring Boot应用开发时,如果项目启动是Run As->Run On Server方式运行就会报类似于Unable to process Jar entry [module-info.class] from Jar的错误,详细错误类似如下:
org.xml.sax.SAXParseException: URI was not reported to parser for entity [document] at gnu.xml.aelfred2.SAXDriver.warn(SAXDriver.java:934) at gnu.xml.aelfred2.SAXDriver.startExternalEntity(SAXDriver.java:631) at gnu.xml.aelfred2.XmlParser.p
综合:Tomcat下相关的日志文件 Cataline引擎的日志文件,文件名catalina.日期.log Tomcat下内部代码丢出的日志,文件名localhost.日期.log(jsp页面内部错误的异常,org.apache.jasper.runtime.HttpJspBase.service类丢出的,日志信息就在该文件!) Tomcat下默认manager应用日志,文件名manager.日期.log 控制台输出的日志,Linux下默认重定向到catalina.out Access日志(Servlet.xml配置) 应用程序通过log4j.properties:${catalina.base}/logs/probe.log重定向过来的日志 JULI:org.apache.juli.FileHandler对应的日志文件名:{prefix}.{date}.{suffix} 默认juli.日期.log Tomcat下Web应用程序可以使用如下3种日志: 使用JDK提供的日志java.util.logging. 使用Java Servlets规范中定义的日志javax.servlet.ServletContext.log(...) 使用其他日志框架,如log4j 不同Web应用程序下使用的Servlet日志(或者日志框架提供的日志)是相互独立的(这与Tomcat的class loader有关,参考Class Loader HOW-TO )。如果Web应用程序使用的是java.util.logging日志,那么它们并不相互独立,这是因为java.util.logging是由JAVA系统中的Bootstrap ClassLoader来加载的,因此它在各Web应用程序之间是共享的! Tomcat使用的日志配置文件:$CATALINA_BASE/conf/logging.properties Tomcat日志管理类默认使用的是JULI:LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" Java的stdout and stderr会被重定向到$CATALINA_BASE/logs/catalina.out,同时:下面2种类型的错误信息,也会被记录在这里 Uncaught exceptions printed by java.lang.ThreadGroup.uncaughtException(.. Thread dumps, if you requested them via a system signal Access访问日志:它与一般的日志有关系但不太一样,它在Servlet.xml中的Context或者 Host或者Engine中配置。在上述的配置节中增加下述的Value就行,具体参考:The Valve Component Xml代码 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".logs" pattern="common" resolveHosts="false"/> Tomcat默认使用JULI日志系统(可以参考官网文档修改成使用log4j),它是对默认的JDK日志java.util.logging进行一定的封装,和标准JDK日志支持相同的配置。最大的不同是针对不同的classloader,可以使用不同的配置文件,使得tomcat下不同的Web应用程序可以使用各自独立的日志文件。也就是说,Tomcat下的默认日志有如下2个层次: 全局配置文件. That is usually done in the ${catalina.base}/conf/logging.properties file. The file is specified by the java.util.logging.config.file System property which is set by the startup scripts. If it is not readable or is not configured, the default is to use the ${java.home}/lib/logging.properties file in the JRE. Web应用程序中使用WEB-INF/classes/logging.properties 默认的JRE中的logging.properties会
Tomcat默认生成的日志文件catalina.out,随着时间的推移,逐渐增大,可能达到G数量级。文件过大,我们将无法使用过常规编辑工具查看,严重影响系统维护工作。解决此问题,主要从Tomcat和代码两方面考虑。
1:部署好项目,启动tomcat出现如下所示的错误,百度方法,挺多的,但是好像并没有解决我的问题,问题如下所示: 1 java.util.zip.ZipException: invalid LOC header (bad signature) 2 at java.util.zip.ZipFile.read(Native Method) 3 at java.util.zip.ZipFile.access$1400(Unknown Source) 4 at java.util.z
今天调试一个jboss应用的时候发现这个错误。 严重: Unable to instantiate ExpressionFactory 'com.sun.el.ExpressionFactoryImpl' 2008-9-12 11:36:47 org.apache.catalina.core.StandardContext listenerStart 严重: Exception sending context initialized event to listener instance of class
我做的一个考试系统,使用了hibernate和spring,原来使用的tomcat版本是6,后来把tomcat换成了apache-tomcat-7.0.30-windows-x64,spring的版本是:3.1
进入到tomcat-8080目录下创建一个启动的shell脚本和一个停止的shell脚本:
今天在修改了一些代码,然后重新放到服务器上,启动服务器的时候报这个错误!我就很纳闷,修改的文件里面根本就没有涉及到tomcat配置文件的内容怎么会出现这样子内容呢?想了很久也网上百度了很多,很多博客提供的解答都没有解决我的问题,然后我们主管过来看了一会,给出了指导性的建议,去看tomcat下的conf/server.xml 文件。然后逐步排查.
在以上列表中,CATALINA_HOME和JAVA_HOME是必要的环境变量。其它的都可以通过CATALINA_HOME来转换,是可选的。
在Linux系统中,Tomcat 启动后默认将很多信息都写入到 catalina.out 文件中,我们可以通过tail -f catalina.out 来跟踪Tomcat 和相关应用运行的情况。 在windows下,我们使用startup.bat启动Tomcat以后,会发现catalina日志与Linux记录的内容有很大区别,大多信息只输出到屏幕而没有记录到catalina.out里面。 本文的内容就是要实现在windows下,将相关的控制台输出记录到后台的catalina.out文件中以便将来
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Diaochengrui1989/article/details/81669372
我们都知道将一个项目部署到Tomcat之后,Tomcat服务启动后的标准输出(stdout)和标准出错(stderr)都会默认重定向到${TOMCAT_HOME}/logs/catalina.out这个文件中,有时候短短一会儿这个文件就能达到几十兆甚至上百兆,日积月累这个文件如果不及时清理将会占用服务器磁盘大量空间从而影响到整个项目的正常运行; 再者这样大日志文件对于我们进行错误排查以及日志分析都不是很方便,一次打开也花上好几分钟,直接cat命令查看也要滚掉好多屏,并且那时候想要来切割的话又异常麻烦。 所以,现在我们提前做好用日期来分割日志的配置,即Tomcat运行的每天都按照日期命名新建一个日志文件。
**我的tomcat7用了好久了,可以说是最开始学习javaweb的时候下载的,看着别人的视频里一顿配置,于是我也跟着一顿配置,虽然当时完全不知道在干什么,感觉好厉害的样子!然后直到有一天,你可能把电脑里一些没什么卵用的自己瞎做的项目删除了之后,然后你启动你的tomcat的startup.bat的时候,让人无语的时候来了,只见刷的一下cmd窗口就飞过,然后就没了,你还是一脸蒙逼,什么也不知道。。。。。
本篇来自Tomcat6官方文档:运行手册running.txt 有很多以前都没注意的问题,这里正好学习下。 系列文章来自:《Tomcat官方文档翻译》 Tomcat的安装 1 确认本机是否已
<Resources cachingAllowed="true" cacheMaxSize="100000" />
一、前言 随着每天业务的增长,Tomcat 的catalina.out日志 变得越来越大,占用磁盘空间不说。要查看某个时候的日志的时候,庞大的日志让你顿时无从下手,所以日志的切割的变得刻不容缓。而且,切割后的日志,还可以定期清理掉久远的日志...... 二、Tomcat 日志分割 我们采用日期形式切割catalina.out 日志,因此采用cronlog 软件切割: 1、安装 cronlog yum install -y cronolog httpd 2、修改bin/catalina.sh文
同事公司要求,在一台服务器上的一个tomcat 实例下部署多个虚拟主机,然后在前端使用NG 反向代理,结果出现,使用两个域名去访问,都是将请求转发到默认的第一个虚拟主机上: 同事的配置为: [[ema
OS specific support. $var _must_ be set to either true or false.
cronolog 是一个简单的过滤程序,读取日志文件条目从标准输入和输出的每个条目并写入指定的日志文件的文件名模板和当前的日期和时间。当扩展文件名的变化,目前的文件是关闭,新开辟的。cronolog 旨在和一个Web服务器一起使用,如Apache、tomcat,分割访问日志为每天或每月的日志。
我们采用Cronlog组件对此进行日志切分,官网http://cronolog.org/一直未能打开,只能从其它地方寻找资源了,这里也上传一份,供大家下载使用,【点击阅读原文查看】。
访问 Tomcat 发布的应用中不存在的页面或 URL 中包含特殊字符时,会看到下面这样的界面:
随着每天业务的增长,Tomcat 的catalina.out日志 变得越来越大,占用磁盘空间不说。要查看某个时候的日志的时候,庞大的日志让你顿时无从下手,所以日志的切割的变得刻不容缓。而且,切割后的日志,还可以定期清理掉久远的日志。
由于 JDK 自带的 java.util.logging实现提供的日志管理能力极为有限,不支持应用级别日志管理。因此,Tomcat 默认的日志库对java.util.logging API 进行了重新实现,这些实现被称为 “JULI” ,里面包含了一些特有的定制类,其中最重要的是一个自定义的LogManager类,它能够区别出运行在 Tomcat 容器中的多个不同的Web应用以及它们的类加载器,从而可以支持不同的应用使用各自独立的日志配置。 你可以从 Tomcat 全局和 Web 应用两个层面对 Tomcat 默认的JULI进行日志配置:
1.Java_异常_05_ OutOfMemoryError: Java heap space
领取专属 10元无门槛券
手把手带您无忧上云