用nginx指定访问tomcat日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用nginx指定访问tomcat日志相关的知识,希望对你有一定的参考价值。

老大让我在nginx+tomcat的环境中满足以下需求:

  1. nginx指向某个页面,此页面内容包含了tomcat服务器中的各种日志文件

  2. 点击某日志文件后,即可显示该日志文件的内容

操作前的准备

安装并搭建好nginx,tomcat

一日志文件

我们知道,tomcat的日志文件在/tomcat/logs目录下

ls
catalina.2016-03-04.log  host-manager.2016-03-04.log  localhost.2016-03-05.log           localhost_access_log.2016-03-07.txt
catalina.2016-03-05.log  host-manager.2016-03-05.log  localhost.2016-03-07.log           manager.2016-03-04.log
catalina.2016-03-07.log  host-manager.2016-03-07.log  localhost_access_log.2016-03-04.txtmanager.2016-03-05.log
catalina.out             localhost.2016-03-04.log     localhost_access_log.2016-03-05.txtmanager.2016-03-07.log

比如我们要在页面上实时查看

catalina.out    localhost.2016-03-04.log    manager.2016-03-07.log

这3个日志文件

那么即可执行以下操作

cd /usr/local/tomcat/webapps/logs
ln /usr/local/tomcat/logs/catalina.out    localhost.2016-03-04.log    manager.2016-03-07.log   aaa.log  bbb.log  ccc.log  #将需要的日志做上硬链接

二jsp页面

下面创建一个菜单的jsp目录页面

<html><body><center>
<a href="http://192.168.88.128:81/logs/aaa.log">
日志1
</a>
<br>
<a href="http://192.168.88.128:81/logs/bbb.log">
日志2
</a>
</center></body></html>

三在nginx中设置

将nginx的请求直接转发到我们刚才创建的jsp页面上去,那么我们就可以直接访问到需要查看的日志目录页面了

server

{
    listen 80;
    server_name localhost;
    index index.html index.htm index.php;
    root /usr/local/tomcat/logs;
    access_log /usr/local/tomcat/logs/catalina.out ;
        location / {
                proxy_pass  #这个是该页面的访问路径 
        }
}


重启nginx服务


总结:那么如此的话,就可以通过nginx的转发功能,直接查看到日志目录了,提高了安全性。

以上是关于用nginx指定访问tomcat日志的主要内容,如果未能解决你的问题,请参考以下文章

nginx怎么设置指定目录ip访问限制

通过nginx负载均衡访问从库tomcat7的日志

Tomcat容器日志收集方案fluentd+elasticsearch+kilbana

Web架构之单机时代

nginx-tomcat负载均衡实验案例

nginx-tomcat负载均衡实验案例