部署tomcat暴露html格式日志,并定期清理日志

来源:互联网 发布:淘宝优惠券代码生成 编辑:程序博客网 时间:2024/05/01 01:06

这个系列共三篇文章:
dubbo生产部署图文实例(一):dubbo本地模拟RPC
dubbo生产部署图文实例(二):用maven打包dubbo项目并部署到云平台
dubbo生产部署图文实例(三):部署tomcat暴露html格式日志,并定期清理日志

这三篇博客的目的主要是通过一个小的实例来本地模拟dubbo PRC,并用maven打包部署到云平台上。部署成功之后,用tomcat静态资源服务器将日志通过html形式暴露并做定期清理。经过这个过程,可以对dubbo的使用和生产中的部署有更加深入的理解。文中记录了需要的所有代码和详细的过程截图,就算第一次接触dubbo的初学者也可以跟着一步一步做出来

实例源代码:
https://github.com/AntonyWujiang/testDubbox.git
assembly文件夹代码:
https://yunpan.cn/cMeCrwSB7EwJV (提取码:ca21)

6 准备文件并通过HFS上传

6.1 更改日志输出方式

首先明确,我们需要让服务的日志以html的形式暴露出来,就要修改日志的输出方式。看一下dev包下面的log4j.xml

这里写图片描述

这里写图片描述

按照上面图中的三个地方修改。其中前两处是为了让日志以html的形式输出,第三处修改appender-ref ref=”user”,这一步相当于把dev包改成了prod,因为输出到console的话我们是没法从网页上看到日志的,日志html会永远为空。

修改之后,按照我之前的博客图文实例:用maven打包dubbo项目并部署到云平台中的方法打dev包并上传到hfs中。

6.2 下载并配置tomcat

之前的博客Tomcat 下载、安装与配置 中有下载地址,注意,这一次我们还是在putty中通过linux操作,所以只需要下载tar.gz包并上传到hfs即可。

6.3 编写xml文件

这个xml文件是要放在\conf\Catalina\localhost下面的,不过别着急,一步一步走,在tomcat没启动的时候是无法从linux看到Catalina文件夹的,这个后面我们会详细描述。

这一步新建一个xml就好。我这里命名为logs_wujiang.xml,其中内容是

<?xml version="1.0" encoding="UTF-8"?>  <Context  path="/logs_wujiang" docBase="/home/sfapp/sfpp-wujiang1/logs/" crossContext="true">  </Context>  

path那里和自己的xml文件命名相同即可,docBase就要看自己的实际需求了。这里实现了一个映射,通过logs_wujiang这个路径来展示实际上存在/home/sfapp/sfpp-wujiang1/logs/中的日志文件。

6.4 上传文件

将1.1-1.3中准备的三个文件上传到hfs中,如图所示

这里写图片描述

7 通过putty部署并启动tomcat

打开putty,连接服务主机IP地址,输入用户名密码,这个我们也在上一篇博客中讲过。

新建一个文件夹导入Server的tar.gz包,步骤和 图文实例:用maven打包dubbo项目并部署到云平台 中完全一样,这里不再重复。

在根目录用mkdir命令新建一个文件夹用来存放tomcat的tar.gz包,步骤也一样。使用cd命令进入conf文件夹,再用vim命令打开web.xml,修改其中的init param的value为false(要先按一下 i 变成插入模式才可以修改)。修改完之后,:wq命令保存并退出。

这里写图片描述

用cd ..命令回到tomcat的主目录

这里写图片描述

./bin/startup.sh命令启动tomcat,可以在putty中看到tomcat启动成功。此时在进入tomcat的conf目录,会看到其中有了Catalina文件夹。

这里写图片描述

cd命令进入Catalina/localhost,wget下载我们刚才通过hfs上传的1.3中的xml文件(logs_wujiang.xml)

OK,到目前为止,所有配置完成。重启tomcat,在浏览器中输入http://进入putty时输入的ip地址:8080/logs_wujiang/

这里写图片描述

可以看到,html格式的日志已经生成。可以点进去看一看

这里写图片描述

8 定时清理日志

现在日志已经以html的形式暴露在外部了,由于操作中会产生很多日志,我们需要写一个脚本来定期清理日志。

在putty中用cd命令回到根目录,输入su回车并键入密码进入管理员模式

这里写图片描述

可以看到,此时已经进入了root

输入crontab -e并回车进入脚本编辑模式
输入下面的代码,并:wq保存退出

00 18 * * * true> /home/sfapp/sfpp-wujiang1/logs/sfpp-user.html

这个命令表示每年每月每天的18:00定时清理sfpp-user.html日志。如果想设置为每隔一小时,在第二个数字那里写成*/1即可。18:00一到,再次刷新刚才的页面,发现html已经被清空

这里写图片描述

说明
如有转载,请务必注明出处:
http://blog.csdn.net/antony9118/article/details/52416041

1 0