Tomcat Seeion 集群

部署:nginx服务器:11-11;tomcat1:11-3;       tomcat2:11-6

nginx服务器11-11做搭建:

[root@mcb-11 ~]# systemctl stop firewalld
[root@mcb-11 ~]# setenforce 0
[root@mcb-11 ~]# yum install epel-release.noarch  -y
[root@mcb-11 ~]# yum install nginx -y
[root@mcb-11 ~]# systemctl start nginx
[root@mcb-11 ~]# systemctl status nginx

[root@mcb-11 ~]# vim /etc/nginx/nginx.conf
[root@mcb-11 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@mcb-11 ~]# nginx -s reload

 

upstream tomcat {server  192.168.11.3:8080;server  192.168.11.6:8080;}
location ~* \.jsp$ {proxy_pass  http://tomcat;}

11-3 tomcat 搭建

[root@mcb-11-3 ~]# mkdir /data
[root@mcb-11-3 ~]# cd /data
[root@mcb-11-3 data]# rz -E
rz waiting to receive.
[root@mcb-11-3 data]# rz -E
rz waiting to receive.
[root@mcb-11-3 data]# ls
apache-tomcat-8.5.16.tar.gz  jdk-8u291-linux-x64.tar.gz
[root@mcb-11-3 data]# tar xf jdk-8u291-linux-x64.tar.gz -C /usr/local   版本不一致也不能解压
[root@mcb-11-3 data]# cd /usr/local/
[root@mcb-11-3 local]# ln -s jdk1.8.0_291/ jdk
[root@mcb-11-3 local]# vim /etc/profile.d/jdk.sh
[root@mcb-11-3 local]# . /etc/profile.d/jdk.sh
[root@mcb-11-3 local]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
#此时jdk安装完成
[root@mcb-11-3 local]# cd -
/data
[root@mcb-11-3 data]# tar xf apache-tomcat-8.5.16.tar.gz 
[root@mcb-11-3 data]# cp -r apache-tomcat-8.5.16 /usr/local/tomcat
[root@mcb-11-3 data]# cd /usr/local/
[root@mcb-1-3 data]# useradd -s /sbin/nologin tomcat
[root@mcb-11-3 data]# cd /usr/local/
[root@mcb-11-3 local]# chown tomcat:tomcat tomcat/ -R
[root@mcb-11-3 system]# cat > /usr/lib/systemd/system/tomcat.service <<EOF
> [Unit]
> Description=Tomcat
> After=syslog.target network.target
> 
> [Service]
> Type=forking
> ExecStart=/usr/local/tomcat/bin/startup.sh
> ExecStop=/usr/local/tomcat/bin/shutdown.sh
> RestartSec=3
> PrivateTmp=true
> User=tomcat
> Group=tomcat
> 
> [Install]
> WantedBy=multi-user.target
> 
> EOF
[root@mcb-11-3 system]# systemctl daemon-reload
[root@mcb-11-3 system]# systemctl start tomcat
[root@mcb-11-3 system]# systemctl status tomcat.service 
● tomcat.service - TomcatLoaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled)Active: active (running) since 日 2024-03-17 00:28:10 CST; 19s agoProcess: 7560 ExecStart=/usr/local/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)Main PID: 7575 (catalina.sh)

[root@mcb-11-3 data]# cd /usr/local/tomcat
[root@mcb-11-3 tomcat]# ls
apache-tomcat-9.0.16  conf             LICENSE  README.md      temp
bin                   CONTRIBUTING.md  logs     RELEASE-NOTES  webapps
BUILDING.txt          lib              NOTICE   RUNNING.txt    work
[root@mcb-11-3 tomcat]# cd webapps/
[root@mcb-11-3 webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@mcb-11-3 webapps]# cd /usr/local/tomcat/webapps/ROOT
[root@mcb-11-3 ROOT]# ls
asf-logo-wide.svg  bg-nav.png    index.jsp          tomcat.gif        tomcat.svg
bg-button.png      bg-upper.png  RELEASE-NOTES.txt  tomcat.png        WEB-INF
bg-middle.png      favicon.ico   tomcat.css         tomcat-power.gif
[root@mcb-11-3 ROOT]# mv index.jsp index.jsp.bak
[root@mcb-11-3 ROOT]# ls
asf-logo-wide.svg  bg-nav.png    index.jsp.bak      tomcat.gif        tomcat.svg
bg-button.png      bg-upper.png  RELEASE-NOTES.txt  tomcat.png        WEB-INF
bg-middle.png      favicon.ico   tomcat.css         tomcat-power.gif
[root@mcb-11-3 ROOT]# rz -E
rz waiting to receive.
[root@mcb-11-3 ROOT]# cat index.jsp
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>tomcat test</title>
</head>
<body>
<div>On <%=request.getServerName() %></div>
<div><%=request.getLocalAddr() + ":" + request.getLocalPort() %></div>
<div>SessionID = <span style="color:blue"><%=session.getId() %></span></div>
<%=new Date()%>
</body>
</html>
[root@mcb-11-3 ROOT]# 

11-6tomcat 搭建

[root@mcb-11-6 local]# cd /usr/local/tomcat
[root@mcb-11-6 tomcat]# ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
[root@mcb-11-6 tomcat]# cd webapps/
[root@mcb-11-6 webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@mcb-11-6 webapps]# cd /usr/local/tomcat/webapps/ROOT
[root@mcb-11-6 ROOT]# ls
asf-logo-wide.svg  bg-nav.png    index.jsp          tomcat.gif        tomcat.svg
bg-button.png      bg-upper.png  RELEASE-NOTES.txt  tomcat.png        WEB-INF
bg-middle.png      favicon.ico   tomcat.css         tomcat-power.gif
[root@mcb-11-6 ROOT]# mv index.jsp index.jsp.bak
[root@mcb-11-6 ROOT]# ls
asf-logo-wide.svg  bg-nav.png    index.jsp.bak      tomcat.gif        tomcat.svg
bg-button.png      bg-upper.png  RELEASE-NOTES.txt  tomcat.png        WEB-INF
bg-middle.png      favicon.ico   tomcat.css         tomcat-power.gif
[root@mcb-11-6 ROOT]# rz -E
rz waiting to receive.
[root@mcb-11-6 ROOT]# cat index.jsp
<%@ page import="java.util.*" %>
<!DOCTYPE html>
<html lang="en">
<head>? <meta charset="UTF-8">? <title>tomcat test</title>
</head>
<body>
<div>On <%=request.getServerName() %></div>
<div><%=request.getLocalAddr() + ":" + request.getLocalPort() %></div>
<div>SessionID = <span style="color:blue"><%=session.getId() %></span></div>
<%=new Date()%>
</body>
</html>
[root@mcb-11-6 ROOT]# 

检测

问题:去访问代理服务器会发现,每次调度到192.168.11.3和192.168.11.4上面,sessionID都会改变,假如我们要让他保持会话连接(sessionID不会变) 

二 会话绑定

①ip_ hash

[root@mcb-11-3 local]# vim /etc/nginx/nginx.conf

检测:

缺点:把服务器也停止了,不调度了

②调度服务器不停止

  Apache Tomcat 9 (9.0.87) - Clustering/Session Replication How-To

 

把官网文本拷贝下来,ip_hash 删除,影响实验 

 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="8"><Manager className="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/><Channel className="org.apache.catalina.tribes.group.GroupChannel"><Membership className="org.apache.catalina.tribes.membership.McastService"address="228.0.0.4"port="45564"frequency="500"dropTime="3000"/><Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="4000"autoBind="100"selectorTimeout="5000"maxThreads="6"/><Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"><Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/><Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatchInterceptor"/></Channel><Valve className="org.apache.catalina.ha.tcp.ReplicationValve"filter=""/><Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/><Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/></Cluster>
配置11-3tomcat

[root@mcb-11-3 tomcat]# vim conf/server.xml

子配置文件:

配置11-6tomcat:

[root@mcb-11-6 tomcat]# vim conf/server.xml

结果:不管调度11-6还是11-3,不管调度到那个tomcat服务器,sessionID都保持一致,不变化了 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/545112.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】类和对象终章

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、初始化列表1.1 初始化列表的形式1.2 初始化列表的注意事项 二、explicit关键…

c++实现简单搜索二叉树<K,V>形

文章目录 搜索二叉树节点类BSTreeNode(节点类的构造) BSTree(功能实现类)Insert(插入)Erase(删除)Find(查找这个节点) 搜索二叉树 搜索二叉树本质:左节点比我小 右节点比我大 节点类 BSTreeNode:给自身节点封装一个类 用这个类来添加节点的操作 我们写的是一个key.value型的搜…

第二十四天-数据可视化Matplotlib

目录 1.介绍 2.使用 1. 安装&#xff1a; 2.创建简单图表 3.图表类型 1.一共分为7类 2.变化 1.折线图 3.分布 ​编辑 1.直方图 2.箱型图 4.关联 1. 散点图&#xff1a; 2.热力图&#xff1a; 5.组成 1.饼图 2.条形图 6.分组 1.簇型散点图 2.分组条形图 3.分…

程序人生——Java多线程和并发的使用建议

目录 引出多线程和并发建议118&#xff1a;不推荐覆写start方法建议119&#xff1a;启动线程前stop方法是不可靠的建议120&#xff1a;不适用stop方法停止线程 建议121&#xff1a;线程优先级只使用三个等级建议122&#xff1a;使用线程异常处理器提升系统可靠性建议123&#x…

主干网络篇 | YOLOv8更换主干网络之ShuffleNetV2

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。ShuffleNetV2是一种轻量级的神经网络架构&#xff0c;用于图像分类和目标检测任务。它是ShuffleNet的改进版本&#xff0c;旨在提高模型的性能和效率。ShuffleNetV2相比于之前的版本&#xff0c;在保持模型轻量化的同时&am…

什么是CRM系统?全面解析,学会利用CRM提升业务效率

在客户心目中&#xff0c;200家CRM企业可能会有200种CRM管理系统&#xff0c;很多客户接触客户经理的第一句话都是&#xff1a;“你家是什么CRM&#xff1f;”。CRM系统是什么&#xff1f;很多技术商、企业管理者自己往往都没有概念&#xff0c;我们通过一文全面解析。简单来说…

我打算修一段时间仙,望周知

1、大科学家牛顿也修过仙&#xff0c;虽然修的是西方的仙&#xff1b;我们东方人不信那个邪&#xff0c;有自己优秀的传统文化&#xff0c;我只修东方的仙&#xff1b;另外&#xff0c;作为普通凡人我成就和智慧都无法望牛顿老人家项背的普通人&#xff0c;即使现在暂时“修仙”…

记录对NSIS的一些微调 实现Electron安装包美化

利洽科技-nsNiuniuSkinUI - NSIS 实现了electron 的安装包美化&#xff0c;免费&#xff0c;便捷。 下面我整理了一些关于它的微调&#xff0c;使其安装卸载更加简单快捷。 1. 默认展示安装路径部分 &#xff08;1&#xff09;将moreconfiginfo标签visible 设置为 true&#…

SpringCloud-深度理解ElasticSearch

一、Elasticsearch概述 1、Elasticsearch介绍 Elasticsearch&#xff08;简称ES&#xff09;是一个开源的分布式搜索和分析引擎&#xff0c;构建在Apache Lucene基础上。它提供了一个强大而灵活的工具&#xff0c;用于全文搜索、结构化搜索、分析以及数据可视化。ES最初设计用…

探索设计模式的魅力:探索发布-订阅模式的深度奥秘-实现高效、解耦的系统通信

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;并坚持默默的做事。 探索发布-订阅模式的深度奥秘&#xff1a;实现高效、解耦的系统通信 文章目录 一、案例场景&am…

Parade Series - Web Streamer Low Latency

Parade Series - FFMPEG (Stable X64) 延时测试秒表计时器 ini/config.ini [system] homeserver storestore\nvr.db versionV20240312001 verbosefalse [monitor] listrtsp00,rtsp01,rtsp02 timeout30000 [rtsp00] typelocal deviceSurface Camera Front schemartsp ip127…

数据可视化-ECharts Html项目实战(1)

在之前的文章中&#xff0c;我们学习了如何安装Visual Studio Code并下载插件&#xff0c;想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点赞&#xff0c;谢谢。 安装 Visual Studio…