当前位置: 首页 > 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.dtcms.com/a/322596.html

相关文章:

  • 2025年华数杯评审标准发布
  • 企业WEB服务器nginx新手超详细讲解
  • Docker 搭建 Jenkins 实现自动部署!
  • jenkins-飞书通知机制
  • STM32 外设驱动模块四:光敏电阻(LDR) 模块
  • Linux网络编程:TCP的远程多线程命令执行
  • Ollama 开启远程端口
  • 闲鱼智能监控机器人:基于 Playwright 与 AI 的多任务监控分析工具
  • Kubernetes 集群密钥与机密管理方案对比分析:Vault、Sealed Secrets 与 AWS KMS
  • dokcer 容器里面安装vim 编辑器
  • ruoyi关闭shiro校验,任何接口可以直接访问
  • 202506 电子学会青少年等级考试机器人五级器人理论真题
  • 【工具变量】地级市固定资产投资数据(2000-2023年)
  • 大模型在垂直场景的创新应用:搜索、推荐、营销与客服新玩法
  • LabVIEW用户事件交互
  • 【Datawhale AI夏令营】从Baseline到SOTA:深度剖析金融问答RAG管道优化之路
  • 鸿蒙示例代码使用心得
  • 华为实验: 单区域/多区域OSPF
  • n8n飞书webhook配置(飞书机器人、飞书bot、feishu bot)Crypto节点、js timestamp代码、Crypto node
  • 算法_python_学习记录_01
  • 可泛化双手操作机器人基准测试:CVPR 2025 MEIS 研讨会 RoboTwin 双臂协作挑战赛
  • day16 - CSS3新增属性
  • 【n8n教程笔记——工作流Workflow】文本课程(第二阶段)——5 自动化业务工作流——0 用例 (Use case)
  • FFMPEG将H264转HEVC时,码率缩小多少好,以及如何通过SSIM(Structural Similarity Index结构相似性指数)衡量转码损失
  • 大语言模型概述
  • day15 - CSS3新增属性
  • Java Callback 实现线程切换以及与Kotlin原理关系
  • MySQL(188)如何使用MySQL的慢查询工具?
  • 驾驶场景玩手机识别准确率↑32%:陌讯动态特征融合算法实战解析
  • 用生活日常的案例来介绍“程序运行时,对函数的调用一般有两种形式:传值调用和引用调用 和 这两种调用有什么区别?