简单看看就会的tomcat全家桶(部署-多实例-监控-远程上传-日志-优化等)(上)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 简单看看就会的tomcat全家桶(部署-多实例-监控-远程上传-日志-优化等)(上)

tomcat学习

一,部署Tomcat

1.配置JDK环境

yum -y install java-1.8.0-openjdk-src.x86_64  #yum源安装JDK1.8 (无须配置环境变量)

tomcat学习

一,部署Tomcat

压缩二进制包

tar xf /mnt/apache-tomcat-8.5.64.tar.gz -C /usr/local/
cd /usr/local/
mv /usr/local/apache-tomcat-8.5.64/ /usr/local/tomcat

3.tomcat的常用命令

catalina.sh start   #开启tomcat
catalina.sh stop    #关闭tomcat
startup.sh        #开启tomcat
shutdown.sh         #关闭tomcat

二,自定义目录

1.修改配置文件

[root@localhost ~]# vi /usr/local/tomcat/conf/server.xml
 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context path="/shop" docBase="/data/project" debug="0" reloadable="false" crossContext="true">
        </Context>
</Host>
#保存退出

2.开启目录浏览功能

[root@localhost ~]# vi /usr/local/tomcat/conf/web.xml
#将false改为true
 <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
  </init-param>
#保存退出

3.创建目录

[root@localhost ~]# mkdir -p /data/project
[root@localhost ~]# touch  /data/project/test.txt

4.重启tomcat服务

[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start

5.查看效果

三,多实例tomcat

1.创建多实例

cp -a /usr/local/tomcat/ /usr/local/tomcat_01 #-a保留文件所有数据 递归复制目录下的所有文件

2.更改端口(避免端口冲突)

sed -i 's#8005#8006#g' /usr/local/tomcat_01/conf/server.xml
sed -i 's#8009#8010#g' /usr/local/tomcat_01/conf/server.xml
sed -i 's#8080#8081#g' /usr/local/tomcat_01/conf/server.xml

3.启动多实例

/usr/local/tomcat/bin/catalina.sh start
/usr/local/tomcat_01/bin/catalina.sh start

4.测试

打开浏览器切换端口测试

四,自动定义监控tomcat

1.添加配置文件

cd /usr/local/tomcat
vi conf/server.xml
#添加一下内容
<Context path="/shop" docBase="/test" reloadable="false" crossContext="ture">
</Context>
#保存退出

2.添加自定义监控信息

vi /test/meminfo.jsp 
#添加一下内容
<% 
Runtime rtm = Runtime.getRuntime(); 
long mm = rtm.maxMemory()/1024/1024; 
long tm = rtm.totalMemory()/1024/1024; 
long fm = rtm.freeMemory()/1024/1024;  
out.println("JVM memory detail info :<br>"); 
out.println("Max memory:"+mm+"MB"+"<br>"); 
out.println("Total memory: "+tm+"MB"+"<br>"); 
out.println("Free memory: "+fm+"MB"+"<br>"); 
out.println("Available memmory can be used is :"+(mm+fm-tm)+"MB"+"<br>"); 
%>
#保存退出

3.测试效果

五,tomcat远程监控

1.开启JMX远程调试功能

注意:IP地址正确,端口使用其他没被使用的端口,以免端口冲突
vi bin/catalina.sh
#添加一下内容
CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.2.1  -Dcom.sun.management.jmxremote  -Dcom.sun.management.jmxremote.port=8085 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true"
#保存退出

2.配置认证用户

#不同方式安装的JDK会存在不同位置 使用 find / -name "management" 查找
cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre/lib/management
vi jmxremote.password
#G跳转到最后一行 去掉注释 修改密码即可
monitorRole  123456 
controlRole   123456 
#!mq强制保存退出即可

3.用户权限文件

cat jmxremote.access
monitorRole   readonly    #只读
controlRole   readwrite \ controlRole  #具有更高权限 

4.给用户密码文件降权

#保证安全性
chmod 600 jmxremote.password jmxremote.access

5.重启

/usr/local/tomcat/bin/catalina.sh stop
/usr/local/tomcat/bin/catalina.sh start

6.客户端连接测试

进入windown的JDK安装位置
默认位置:C:\Program Files\Java\jdk-18.0.2.1\bin

1.双击打开
添加tomcat端口和端口号(8085),刚刚在jmxremote.password中添加的用户名和密码,然后进行连接即可
• 1

连接,因为不是https协议,点击不安全的连接即可
• 1

效果:监控窗口

六,开启tomcat图像化管理工具

1.工具介绍

server status:查看当前服务状态信息
manager app:应用管理器
host manager:主机管理器

2.开启所有功能

1.可以接受所有IP请求(server status,manager app)
开放所有IP地址( ^.*$)匹配任意字符,应用环境中不建议使用
匹配IPV4地址严格写法:((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}
[root@localhost / ]# cd /usr/local/tomcat/
[root@localhost tomcat]# vim webapps/manager/META-INF/context.xml 
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow=" ^.*$" />[root@localhost cronolog-1.6.2]# cd /usr/local/tomcat/
2.可以接受所有IP请求(host manager)
[root@localhost tomcat]# vim webapps/host-manager/META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow=" ^.*$" />[root@localhost cronolog-1.6.2]# cd /usr/local/tomcat/
3.创建登录用户
注意:将一下字段添加到/tomcat-users>之上
[root@localhost tomcat]# vim conf/tomcat-users.xml 
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="manager" password="123456" roles="manager-gui"/>
<user username="admin" password="123456" roles="admin-gui"/>
3.创建登录用户
注意:将一下字段添加到/tomcat-users>之上
• 1
[root@localhost tomcat]# vim conf/tomcat-users.xml 
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="manager" password="123456" roles="manager-gui"/>
<user username="admin" password="123456" roles="admin-gui"/>

3.重启服务

[root@localhost tomcat]# /usr/local/tomcat/bin/catalina.sh stop
[root@localhost tomcat]# /usr/local/tomcat/bin/catalina.sh start

4.测试效果

server status与manager app需要使用manager用户登录
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
28天前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
122 26
|
4月前
|
监控 Java 应用服务中间件
部署tomcat部署实战案例
本文是关于Tomcat部署实战案例的教程,包括通过yum和二进制方式部署Tomcat的详细步骤,以及如何监控Tomcat服务。
219 84
部署tomcat部署实战案例
|
4月前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
3月前
|
存储 监控 固态存储
如何监控和优化 WAL 日志文件的存储空间使用?
如何监控和优化 WAL 日志文件的存储空间使用?
|
3月前
|
Java 应用服务中间件 Linux
tomcat学习二:tomcat部署多个项目:不修改端口和修改端口 两种方式详解
这篇文章详细介绍了在Tomcat服务器上部署多个项目的方法,包括不修改端口和修改端口两种方式。
186 0
|
3月前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
4月前
|
前端开发 Java 应用服务中间件
react自学(6) 部署到tomcat中
react自学(6) 部署到tomcat中
|
4月前
|
运维 Kubernetes 监控
Loki+Promtail+Grafana监控K8s日志
综上,Loki+Promtail+Grafana 监控组合对于在 K8s 环境中优化日志管理至关重要,它不仅提供了强大且易于扩展的日志收集与汇总工具,还有可视化这些日志的能力。通过有效地使用这套工具,可以显著地提高对应用的运维监控能力和故障诊断效率。
446 0
|
5月前
|
SQL 数据库 Java
Hibernate 日志记录竟藏着这些秘密?快来一探究竟,解锁调试与监控最佳实践
【8月更文挑战第31天】在软件开发中,日志记录对调试和监控至关重要。使用持久化框架 Hibernate 时,合理配置日志可帮助理解其内部机制并优化性能。首先,需选择合适的日志框架,如 Log4j 或 Logback,并配置日志级别;理解 Hibernate 的多级日志,如 DEBUG 和 ERROR,以适应不同开发阶段需求;利用 Hibernate 统计功能监测数据库交互情况;记录自定义日志以跟踪业务逻辑;定期审查和清理日志避免占用过多磁盘空间。综上,有效日志记录能显著提升 Hibernate 应用的性能和稳定性。
57 0
|
应用服务中间件
Tomcat日志实现每天切割(通过Cronolog实现日志分割)
Tomcat日志,如果不做切割处理,会导致日志输出会越来越大,不方便后续的问题追踪。 所以我们对日志文件进行按天进行分割。
895 1
Tomcat日志实现每天切割(通过Cronolog实现日志分割)