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

子配置文件

[root@mcb-11-6 tomcat]# cd webapps/ROOT/WEB-INF/

[root@mcb-11-6 WEB-INF]# vim web.xml

测试:

结果:不管调度11-6还是11-3,不管调度到那个tomcat服务器,sessionID都保持一致,不变化了 (既IP地址在变,但sessionID不变)

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

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

相关文章

关于 NXP PCA85073A 实时时钟读取数据时出现 IIC 传输失败的原因解析和解决方法

一、前言 对使用 I2C 传输的 RTC 外设 PCA85073&#xff0c;在 I2C 传输过程中若有复位信号输入&#xff0c;则有概率出现 I2C 死锁的状态&#xff0c;即 SCL为高&#xff0c;SDA一直为低的现象。 二、I2C 基本协议 在分析问题出现的原因之前&#xff0c;我…

前端基础篇-深入了解 JavaScript(JSON、BOM、DOM 和事件监听)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 JS - JSON 2.0 JS - BOM 2.1 Window 浏览器窗口对象 2.2 Location 地址栏对象 3.0 JS - DOM 3.1 获取 HTML 元素对象 3.2 调用 Element 对象的属性、方法 4.0 事件…

威联通(QNAP) TS-466C NAS 开箱评测,4盘位NAS,N6005,存储服务器

威联通(QNAP) TS-466C 四盘位NAS (Network Attached Storage:网络附属存储) 开箱评测 之前用的TS-551经过几轮系统升级后明显感觉性能跟不上了&#xff0c;变卡了&#xff0c;所以升级一下&#xff0c;换了TS-466C。 威联通迁移NAS还挺方便的&#xff0c;只有将原先NAS里的硬…

Spring Boot项目怎么从Nacos注册中心上获取其他服务列表信息?

一、前言 在spring boot项目开发过程中&#xff0c;为了进行微服务之间的调用&#xff0c;我们一般会使用注册中心&#xff0c;比如Nacos。假设我们有一个业务需求&#xff0c;应用A需要从Nacos注册中心上获取服务信息进行分析&#xff0c;需要怎么实现呢&#xff1f; 二、开…

数据结构(四)——串的定义和基本操作

四、串 4.1 串的定义和实现 4.1.2 串的定义 串&#xff1a;即字符串&#xff08;String&#xff09;是由零个或多个字符组成的有限序列。例&#xff1a;T‘iPhone 11 Pro Max?’子串&#xff1a;串中任意个连续的字符组成的子序列。 Eg&#xff1a;’iPhon…

蓝桥杯每日一题:血色先锋队

今天浅浅复习巩固一下bfs 答案&#xff1a; #include<iostream> #include<algorithm> #include<cstring>using namespace std; typedef pair<int,int> PII;const int N510; int n,m,a,b; int dist[N][N]; PII q[N*N]; int hh0,tt-1;int dx[]{1,0,-1,…

通信系统架构

本博客地址&#xff1a;https://security.blog.csdn.net/article/details/136785570 一. 通信系统架构基础 1、通信网络主要形式&#xff1a;局域网、广域网、移动通信网。 二. 局域网 2、局域网网络架构通常由计算机、交换机、路由器等设备组成。特点是覆盖地理范围小、数…

【医学图像处理】ECAT和HRRT格式转nii格式【超简单】

之前从ADNI上下载PET数据的时候发现有许多数据的格式不是DICOM的而是ECAT或者是HRRT格式&#xff0c;这对原本就少的PET数据是血上加霜啊。 当然只使用DICOM格式的数据也会得到不少的数据&#xff0c;我一开始也是只使用DICOM格式的样本&#xff0c;后来为了得到更多的数据&a…

【LabVIEW FPGA入门】浮点数类型支持

如今&#xff0c;使用浮点运算来设计嵌入式系统的需求变得越来越普遍。随着 FPGA 因其固有的大规模并行性而在浮点性能方面继续超越微处理器&#xff0c;这种情况正在加剧。线性代数和数字信号处理 (DSP) 等高级算法可以受益于浮点数据类型的高动态范围精度。LabVIEW FPGA 通过…

力扣hot100:33. 搜索旋转排序数组(二分的理解)

33.搜索旋转排序数组 ​ 这是一个非常有趣的问题&#xff0c;如果不要求使用O(logn)应该没人会想到吧。。 方法一&#xff1a; 极致的分类讨论。旋转排序数组&#xff0c;无非就是右边的增区间的数小于左边的增区间的数&#xff0c;然后依次排序。因此我们只需要分三类讨论即可…

CMAKE_CUDA_ARCHITECTURES set to ‘native’多版本与版本号矛盾问题,报错

CMAKE_CUDA_ARCHITECTURES set to ‘native’多版本与版本号矛盾问题&#xff0c;报错 1. 报错提醒如下图2. 原因本地安装多个cuda版本导致native寻找到多个版本&#xff0c;导致报错3. 具体配置需要根据你的显卡型号来确认 1. 报错提醒如下图 2. 原因本地安装多个cuda版本导致…

单元测试、集成测试、系统测试区别

一、测方法不同 1、单元测试属于白盒测试范畴。 2、集成测试属于灰盒测试范畴。 3、系统测试属于黑盒测试范畴。 二、考察范围不同 1、单元测试主要测试单元内部的数据结构、逻辑控制、异常处理等。exception handling 2、集成测试主要测试模块之间的接口和接ロ数据传递关…

【prometheus】k8s集群部署prometheus server(文末送书)

目录 一、概述 1.1 prometheus简介 1.2 prometheus架构图 1.3测试环境 二、k8s集群中部署prometheus server 2.1创建sa账号和数据目录 2.2安装prometheus 2.2.1创建configmap存储卷存放prometheus配置信息 2.2.2 通过deployment部署prometheus 2.2.3prometheus pod创…

网络安全主题

网络安全主题 Python信息安全库之fsociety使用详解 https://blog.csdn.net/Rocky006/article/details/136040500 VULNCMS靶机 https://blog.csdn.net/m0_66299232/article/details/128780619 渗透测试框架-Fsociety https://blog.csdn.net/andiao1218/article/details/10119…

ConsiStory:Training-Free的主体一致性生成

Overview 一、总览二、PPT详解 ConsiStory 一、总览 题目&#xff1a; Training-Free Consistent Text-to-Image Generation 机构&#xff1a;NVIDIA, Tel-Aviv University 论文&#xff1a;https://arxiv.org/pdf/2402.03286.pdf 代码&#xff1a;https://consistory-paper.g…

zookeeper快速入门三:zookeeper的基本操作

在zookeeper的bin目录下&#xff0c;输入./zkServer.sh start和./zkCli.sh启动服务端和客户端&#xff0c;然后我们就可以进行zookeeper的基本操作了。如果是windows&#xff0c;请参考前面章节zookeeper快速入门一&#xff1a;zookeeper安装与启动 目录 一、节点的增删改查 …

异常GPT:使用LVLMs检测工业异常

AnomalyGPT&#xff1a;利用LVLMs进行工业异常检测 摘要 本文介绍了一种名为AnomalyGPT的新型工业异常检测方法&#xff0c;该方法基于大型视觉语言模型(LVLMs)。AnomalyGPT能够检测并定位图像中的异常&#xff0c;无需手动设置阈值。此外&#xff0c;AnomalyGPT还可以提供与…

【Java基础知识总结 | 第三篇】深入理解分析ArrayList源码

文章目录 3.深入理解分析ArrayList源码3.1ArrayList简介3.2ArrayLisy和Vector的区别&#xff1f;3.3ArrayList核心源码解读3.3.1ArrayList存储机制&#xff08;1&#xff09;构造函数&#xff08;2&#xff09;add()方法&#xff08;3&#xff09;新增元素大体流程 3.3.2ArrayL…

react03

react03 修改脚手架创建的打包命令 根据scripts中的命令&#xff0c;执行npm run eject ,输入y, 如果对原始的脚手架文件有过改动需要进行将修改后的文件提交到git 历史区 &#xff0c;防止暴露后的代码覆盖我们自己的文件 git 提交&#xff1a; git add . git commit -m ‘…

java----网络编程(一)

一.什么是网络编程 用户在浏览器中&#xff0c;打开在线视频网站&#xff0c;如优酷看视频&#xff0c;实质是通过网络&#xff0c;获取到网络上的一个视频资源。 与本地打开视频文件类似&#xff0c;只是视频文件这个资源的来源是网络。所谓网络资源就是网络中获取数据。而所…