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
相关推荐
葡萄成熟时 !20 小时前
JAVA 常用API学习笔记
java·笔记·学习
Rain的Java大神之路20 小时前
介绍一下分布式事务
java·分布式·后端·spring·spring cloud·架构·springcloud
吴声子夜歌21 小时前
Java面试题——基础(一)
java·开发语言
南城以南溫暖如初1471 天前
外卖CPS实战指南:从技术选型到运营落地全流程解析
java·spring boot·mysql·架构·vue
傻啦嘿哟1 天前
英雄联盟皮肤爬虫:爬取全皮肤价格与特效,做比价工具
java·c++·爬虫
码匠许师傅1 天前
【C++ 面试真题】24. 聊聊 C++ 的时间日期处理
java·c++·面试
mqiqe1 天前
AgentScope Java 2.0 Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
java·运维·网络
zhifou1234561 天前
java 17升级安装
java·开发语言
用户3721574261351 天前
如何使用 Java 将 Markdown 转换为 PDF(含自定义设置)
java
用户3721574261351 天前
如何使用 Java 在 Word 文档中添加和删除水印:分步指南
java