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
相关推荐
Goldn.21 小时前
Java核心技术栈全景解析:从Web开发到AI融合
java· spring boot· 微服务· ai· jvm· maven· hibernate
李慕婉学姐1 天前
【开题答辩过程】以《基于Android的出租车运行监测系统设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·后端·vue
m0_740043731 天前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
编织幻境的妖1 天前
SQL查询连续登录用户方法详解
java·数据库·sql
未若君雅裁1 天前
JVM面试篇总结
java·jvm·面试
kk哥88991 天前
C++ 对象 核心介绍
java·jvm·c++
招风的黑耳1 天前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
xunyan62341 天前
面向对象(下)-接口的理解
java·开发语言
程序员游老板1 天前
基于SpringBoot3+vue3的爱心陪诊平台
java·spring boot·毕业设计·软件工程·课程设计·信息与通信
期待のcode1 天前
Springboot核心构建插件
java·spring boot·后端