当前位置: 首页 > news >正文

【Linux】Tomcat

Tomcat简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和 并发访问用户不是很多的场合下被普遍使用,Tomcat 具有处理HTML页面的功能,它还是一个Servlet和 JSP容器

Tomcat的使用

安装java环境

[root@TO1 ~]# yum install java-1.8.0-openjdk.x86_64 -y

安装并启动Tomcat

[root@TO1 mnt]# ls
apache-tomcat-9.0.107  apache-tomcat-9.0.107.tar.gz  hgfs
[root@TO1 mnt]# tar zxf apache-tomcat-9.0.107.tar.gz -C /usr/local/[root@TO1 local]# cd tomcat/
[root@TO1 tomcat]# cd bin/
[root@TO1 bin]# ./startup.sh

查看端口

[root@TO1 ~]# netstat -antlupe | grep java

Tomcat相关文件

bin服务启动、停止等相关程序和文件
conf配置文件
lib库目录
logs日志目录
webapps应用程序 应用部署目录,相当于nginx的默认发布目录
work jsp编译后的结果文件,建议提前预热访问

启动Tomcat

访问Tomcat

生成Tomcat启动文件

#生成tomcat的主配置文件
[root@TO1 local]# vim /usr/local/tomcat/conf/tomcat.conf
#配置文件内容---------------------------------------------------------
JAVA_HOME=/etc/alternatives/jre
---------------------------------------------------------------------
vim /lib/systemd/system/tomcat.service
#启动文件内容-----------------------------------------------------------------------
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target[Service]
Type=forking
EnvironmentFile=/usr/local/tomcat/conf/tomcat.conf
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
User=tomcat
Group=tomcat[Install]
WantedBy=multi-user.target
----------------------------------------------------------------------------------
[root@TO1 local]# useradd -s /sbin/nologin -M tomcat
[root@TO1 local]# chown tomcat.tomcat /usr/local/tomcat/ -R[root@TO1 bin]# systemctl enable --now tomcat.service

利用nginx反向代理Tomcat以及基于cookie的session绑定

在nginx服务器上编写配置文件达到如下图代理方式

nginx配置文件内容:

upstream tomcat{hash $cookie_JSESSIONID;server 172.25.254.15:8080;server 172.25.254.16:8080;
}
server {listen 80;server_name www.jie.org;location ~\.jsp$ {proxy_pass http://tomcat;}
}

编写Tomcat测试文件测试

测试效果:

session 共享服务器

Memcached简介

Memcached 是一款开源的高性能分布式内存对象缓存系统,主要用于减轻数据库负载、加速动态 Web 应用的响应速度。它通过将频繁访问的数据存储在内存中,避免了重复的数据库查询或计算操作,从而显著提升应用性能

msm 介绍

Memcached Session Manager(简称 MSM)是一个用于 Java Web 应用 的会话管理工具,它通过将用户会话(Session)数据存储在 Memcached 分布式缓存中,实现了会话的共享与高可用,特别适用于集群环境下的会话同步需求

image-20250809024823457

安装memcache、将监听地址改为全部

 [root@TO1 ~]# yum install memcached -y[root@TO1 ~]# vim /etc/sysconfig/memcachedPORT="11211"USER="memcached"MAXCONN="1024"CACHESIZE="64"OPTIONS="-l 0.0.0.0,::1"​​[root@TO1 ~]# systemctl enable --now memcached

将相关jar包添加到/usr/local/tomcat/bin/中

image-20250809024832865

修改tomcat配置

[root@TO1 jar]# vim /usr/local/tomcat/conf/context.xml#添加以下内容<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"memcachedNodes="n1:172.25.254.15:11211,n2:172.25.254.16:11211"failoverNodes="n1"requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>

image-20250809024838852

image-20250809024843417

测试效果:

http://www.lryc.cn/news/614997.html

相关文章:

  • C# 异步编程(使用异步Lambda表达式)
  • 100-基于Python的智联招聘数据可视化分析推荐系统
  • 基于Dify实现对Excel的数据分析--动态配置图表
  • 篮球运动(动态规划)
  • Vue3子组件向父组件传值(defineEmits())
  • 年轻新标杆!东方心绣脸韧带年轻技术升级发布
  • 【线程池】压测确定线程池合适的参数
  • Qt/C++开发监控GB28181系统/实时监测设备在线离线/视频预览自动重连/重新点播取流/低延迟
  • 模板方法模式:优雅封装算法骨架
  • MX 播放器:安卓设备上的全能视频播放器
  • 浅谈 VM 桥接模式:让虚拟机像真实电脑一样接入网络
  • SimBA算法实现过程
  • day 36_2025-08-09
  • Gltf 模型 加载到 Cesium 的坐标轴映射浅谈
  • Mysql 分页查询优化
  • 使用lightGCN完整训练用户 + 商品向量的 3 步指南
  • jenkins-飞书通知机制
  • Windows系统NUL文件删除问题解决
  • 如何学习 react native 和 Expo
  • Spark02 - SparkContext介绍
  • Java基础-完成局域网内沟通软件的开发
  • 【和春笋一起学C++】(三十三)名称空间的其他特性
  • C++安全异常设计
  • 可泛化双手操作机器人基准测试:CVPR 2025 MEIS 研讨会 RoboTwin 双臂协作挑战赛
  • 【渲染流水线】[几何阶段]-[图元装配]以UnityURP为例
  • 第15届蓝桥杯Scratch选拔赛初级及中级(STEMA)2024年1月28日真题
  • Leetcode-19. 删除链表的倒数第 N 个结点
  • ORA-600 kcratr_nab_less_than_odr和ORA-600 4194故障处理---惜分飞
  • 莫比乌斯反演学习笔记
  • FFMPEG将H264转HEVC时,码率缩小多少好,以及如何通过SSIM(Structural Similarity Index结构相似性指数)衡量转码损失