tomcat session共享

1. 日志监控工具

  1. 安装
bash 复制代码
tar xf goaccess-1.4.tar.gz
cd goaccess-1.4/
yum install GeoIP-devel-1.5.0-13.el7.x86_64.rpm
yum install -y ncurses-devel.x86_64
./configure --enable-utf8 --enable-geoip=legacy
make
make install


  1. 使用
bash 复制代码
goaccess /usr/local/nginx/logs/access.log -o /usr/local/nginx/html/report.html --log-format=COMBINED --real-time-html & # 

2. jdk与tomcat安装

在192.168.228.12上部署tomcat

bash 复制代码
rpm -ivh jdk-8u121-linux-x64.rpm # 安装jdk的rpm包
tar xf apache-tomcat-7.0.37.tar.gz -C /usr/local/ # 将文件解压到指定位置
cd /usr/local/
ln -s apache-tomcat-7.0.37/ tomcat # 做软链接,方便后续升级
cd tomcat/bin
./startup.sh # 执行安装




## 3. nginx实现对tomcat的反向代理

在192.168.228.11上的nginx文件里面修改配置,从而调用12机器上的tomcat


http://192.168.228.11/test.jsp

http://192.168.228.12:8080/test.jsp

访问的是同一个页面

3. nginx实现对tomcat的负载均衡+反向代理

nginx:sever1

tomcat:sever2 server3

  1. 在server3中同样的安装tomcat
  2. nginx上负载均衡+反向代理


问题:

在浏览网页的时候,因为负载均衡,real server的地址一直会变,不利于session的建立。

  1. nginx上基于cookie负载均衡+反向代理

由于服务器站点CDN加速,基于IP_HASH不合适,而基于cookie可以用。



问题:

当server2 down后,server3被调用处理,但是之前在server2保留的信息没了。

bash 复制代码
/usr/local/tomcat/bin/shutdown.sh # 关闭tomcat服务

4. nginx上基于cookie负载均衡+反向代理+memcached

为tomcat添加功能模块

  1. 安装与配置tomcat
bash 复制代码
yum install -y memcached.x86_64 # 在两台real server上安装memcached
systemctl enable --now memcached.service # 启动服务
bash 复制代码
cp jar/* /usr/local/tomcat/lib # 复制对应版本的jar包到tomcat的lib库


bash 复制代码
vim /usr/local/tomcat/conf/context.xml # 在文件里面添加下面内容
bash 复制代码
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.228.12:11211,n2:192.168.228.13:11211"
failoverNodes="n1"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
bash 复制代码
 ./shutdown.sh
 ./startup.sh


  1. 测试
bash 复制代码
yum install -y telnet
telnet localhost 11211
telnet 192.168.228.13 11211
相关推荐
ladymorgana4 小时前
【Spring boot】tomcat Jetty Undertow对比,以及应用场景
spring boot·tomcat·jetty
Fireworkitte5 小时前
Apache POI 详解 - Java 操作 Excel/Word/PPT
java·apache·excel
weixin-a153003083165 小时前
【playwright篇】教程(十七)[html元素知识]
java·前端·html
DCTANT5 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
Touper.5 小时前
SpringBoot -- 自动配置原理
java·spring boot·后端
黄雪超5 小时前
JVM——函数式语法糖:如何使用Function、Stream来编写函数式程序?
java·开发语言·jvm
ThetaarSofVenice5 小时前
对象的finalization机制Test
java·开发语言·jvm
望获linux7 小时前
【实时Linux实战系列】CPU 隔离与屏蔽技术
java·linux·运维·服务器·操作系统·开源软件·嵌入式软件
JosieBook7 小时前
【Java编程动手学】使用IDEA创建第一个HelloJava程序
java·开发语言·intellij-idea
Thomas_YXQ7 小时前
Unity3D DOTS场景流式加载技术
java·开发语言·unity