龙空技术网

利用 Tomcat 自带的 Manager 查看应用日志

凌晨在珠海 1008

前言:

如今大家对“怎么访问tomcat文件夹webapps中的项目”大概比较注重,看官们都需要分析一些“怎么访问tomcat文件夹webapps中的项目”的相关知识。那么小编同时在网摘上搜集了一些有关“怎么访问tomcat文件夹webapps中的项目””的相关文章,希望各位老铁们能喜欢,姐妹们一起来学习一下吧!

Tomcat Manager 是 Tomcat 的运维管理界面,可以远程部署我们自己的应用、监控应用的运行情况。

今天我要向大家介绍如何通过 Manager 界面访问 Tomcat 日志以及指定目录下的文件,实现远程运维的需求。

安装 JDK

Tomcat 依赖 JDK,所以先安装 JDK,以下操作使用 root 用户。

创建 jdk 安装目录

mkdir -p /uer/local/jdk
上传 jdk-8u25-linux-x64.tar.gz 到上述目录解压
tar -xvzf jdk-8u25-linux-x64.tar.gz> 得到 jdk1.8.0_25 
设置系统环境变量
vi /etc/profile# 按 i 进入编辑模式,新增JAVA_HOME=/usr/local/jdk/jdk1.8.0_25/CLASSPATH=.:$JAVA_HOME/lib/tools.jarPATH=$JAVA_HOME/bin:$PATHexport PATH JAVA_HOME CLASSPATH# 按 Esc 退出编辑模式# 输入 :wq! 保存退出

jdk 环境变量

让环境变量立即生效

source /etc/profile
查看 jdk 版本
java -version

出现图片中内容,即表示 jdk 已安装成功!

安装 Tomcat 使用 root 用户新建一个用户,默认用户目录为:/home/alex/

useradd alex
设置用户密码
passwd alex 
切换为 alex 用户
su - alex 
上传 Tomcat 安装包到用户目录下即:/home/alex/解压
tar -xvzf apache-tomcat-8.5.42.tar.gz> 得到 apache-tomcat-8.5.42
赋予脚本执行权限
cd apache-tomcat-8.5.42/binchmod +x *.sh
启动 Tomcat
sh startup.sh
查看线程
ps -ef|grep java

tomcat 线程已存在

浏览器访问 IP:8080 端口出现管理界面,表示 Tomcat 启动成功。配置 Manager

此时若直接点击 【Manager App】会报 :403 Access Denied,页面提示需要添加 Tomcat 管理用户才能访问。

没有配置Tomcat管理用户报错

修改 tomcat-users.xml,添加Tomcat管理用户

cd /home/alex/apache-tomcat-8.5.42/confvi tomcat-users.xml# 按 i 进入编辑模式,新增<user username="admin" password="1q2w3e" roles="manager-gui,manager-script,manager-jmx,manager-status"/># 按 Esc 退出编辑模式# 输入 :wq! 保存退出

在配置文件末尾新增用户

修改 manager 的 context.xml ,默认只能本机访问,改为所有IP都可以访问

cd /home/alex/apache-tomcat-8.5.42/webapps/manager/META-INFvi context.xml# 按 i 进入编辑模式,修改 allow原来的:allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"改为:allow="^.*$"# 按 Esc 退出编辑模式# 输入 :wq! 保存退出
重启Tomcat
cd /home/alex/apache-tomcat-8.5.42/bin# 停止sh shutdown.sh# 重启sh startup.sh
再次访问 Manager,出现登录界面配置日志访问目录

走到这一步,我们这篇文章主题才真正开始

修改 tomcat/conf/web.xml,开启访问静态资源开关

开启访问静态资源开关

修改 tomcat/conf/server.xml,新增 tomcat 日志访问路径

<Context override="true" docBase="/home/alex/apache-tomcat-8.5.42/logs" path="/tomcat-logs" />

新增日志访问路径

重启Tomcat查看管理界面,已经有我们的tomcat 日志路径了

点击进入,显示了tomcat/logs 下面的文件

点击 catalina.out 即可查看日志内容。

以上,便实现了通过 tomcat 管理界面获取日志文件的需求。同理,server.xml里也可以设置其它文件地址,实现远程访问的效果。

附:使用Linux部署的同学,可能会出现下面两个问题

问题1:8080 端口不能访问

如果应用启动正常(线程存在、日志没有报错),那基本就是服务器防火墙没有开启 8080端口访问权限

# 使用 root 用户添加端口访问权限/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

问题2:Manger 界面加载很慢,需要十几秒钟

先说解决办法:出现这种问题,一般是我们重新设置了服务器主机名,但没有在hosts里配置映射信息。

查看主机名

hostname> 我这台服务器的主机名为:master
修改hosts
vi /etc/hosts在后面追加127.0.0.1 master

这个问题也是最近我生产部署项目出现的,上网查了资料也没有相关说明,排查了好久,最后不得已反编译了Manger,在源码中加了日志,才发现原因。

页面加载很慢,需要十几秒钟

通过在源码中输出执行步骤,发现是获取host的巨慢:

Manger 源码

使用 root 用户查看 /etc/hosts 配置,发现 主机名没有相应配置。

新增主机名映射

修改hosts后,7ms 即加载完页面,说明改对了,至此问题解决。

标签: #怎么访问tomcat文件夹webapps中的项目 #root用户启动tomcat后修改日志权限