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

简介: 简单看看就会的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用户登录
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
11月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
963 122
基于docker搭建监控系统&日志收集
|
11月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
930 1
日志收集和Spring 微服务监控的最佳实践
|
10月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
462 6
|
监控 测试技术 Go
告别传统Log追踪!GOAT如何用HTTP接口重塑代码监控
本文介绍了GOAT(Golang Application Tracing)工具的使用方法,通过一个Echo问答服务实例,详细展示了代码埋点与追踪技术的应用。内容涵盖初始化配置、自动埋点、手动调整埋点、数据监控及清理埋点等核心功能。GOAT适用于灰度发布、功能验证、性能分析、Bug排查和代码重构等场景,助力Go项目质量保障与平稳发布。工具以轻量高效的特点,为开发团队提供数据支持,优化决策流程。
1001 90
|
11月前
|
存储 缓存 监控
用 C++ 红黑树给公司电脑监控软件的日志快速排序的方法
本文介绍基于C++红黑树算法实现公司监控电脑软件的日志高效管理,利用其自平衡特性提升日志排序、检索与动态更新效率,并结合实际场景提出优化方向,增强系统性能与稳定性。
261 4
|
11月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1881 5
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
1481 55
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
通过引入 Sidecar 容器的技术,SAE 为用户提供了更强大的自定义日志与监控解决方案,帮助用户轻松实现日志采集、监控指标收集等功能。未来,SAE 将会支持 istio 多租场景,帮助用户更高效地部署和管理服务网格。
778 51
|
数据采集 运维 监控
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
743 7
数据采集监控与告警:错误重试、日志分析与自动化运维
|
监控 安全 BI
优化 Apache 日志记录的 5 个最佳实践
Apache 日志记录对于维护系统运行状况和网络安全至关重要,其核心包括访问日志与错误日志的管理。通过制定合理的日志策略,如选择合适的日志格式、利用条件日志减少冗余、优化日志级别、使用取证模块提升安全性及实施日志轮换,可有效提高日志可用性并降低系统负担。此外,借助 Eventlog Analyzer 等专业工具,能够实现日志的高效收集、可视化分析与威胁检测,从而精准定位安全隐患、评估服务器性能,并满足合规需求,为强化网络安全提供有力支持。
384 0
优化 Apache 日志记录的 5 个最佳实践