nginx+tomcat+memcache会话保持
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx+tomcat+memcache会话保持相关的知识,希望对你有一定的参考价值。
一 Tomcat 简介:
Tomcat服务器是一个免费的开发源代码的WEB应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。其主要的应用场景是解析动态程序代码(Java)JSP程序可以处理Tomcat界面
二 环境安装:
主机名 | IP地址 | 作用 |
---|---|---|
server 1 | 192.168.3.10 | nginx调取器,Tomcat客户端,memcached服务器 |
server 2 | 192.168.3.20 | tomcat 客户端,memcached 服务器 |
会话保持的三种方式
Session sticky会话绑定:通过在前端调度器的配置中实现统一session发送至同一后发端服务器
Session cluster会话集群:通过配置Tomcat保持所有Tomcat的session的信息一致。
Session server 会话服务:将所有的session交给专门的session服务管理。
这里讲解第三种,使用Memcached做session server
架构图:
原理:
当server1中Tomcat 宕机后,server2 接管会话后会从本地的memcached处读取memcached的信息,
当server1 的memcached 宕机后,server2 的Tomcat中会将会话信息存至本地,以致不会丢失。
1 安装和配置java环境
1 下载相关软件
2 解压java包
3创建软连接
4 修改环境变量,使得java可以正常运行
5 进行刷新
6 如果javac能够自动补全,则成功
2 tomcat 安装
1 解压Tomcat
2 创建软连接
3 启动tomcat 程序
4 查看其默认监听的端口是8080
5 进行访问查看
6 通过添加时间来查看其java环境是否安装成功
进行访问查看
7 修改nginx配置:
nginx安装:http://blog.51cto.com/11233559/2110593
其每次都要输入8080,将其改成默认的80端口
重启服务
进行查看
三 配置tomcat+nginx+memcahe 的组合环境
1 环境准备
开启一台虚拟主机并配置与上一台相同的java环境和tomcat
2 进行实验:
1 配置使用nginx 的反向代理负载均衡
2 重启服务
3 验证nginx的轮询机制:
并在server2上做出相应的修改
进行查看
4 配置网页使其可以写入服务器会话缓存中的页面
转发至server2 并进行查看
此无法做到会话保持,因此需要使用memcached进行缓存其会话。
5 此时需要配置cookie进行对访问客户端的控制
重启服务:
查看其会话可以保持
下载java包使其支持更精确的数据查看功能
6 memcached 安装
server2上安装memcached服务
启动并查看其11211端口情况
在tomcat中添加memcahed的配置,此处使用的是交叉存储,及默认server1 的访问数据被刷新到server2 的memcached上
重启服务使其生效:
查看日志,看其是否与后端存储关系建立完毕
进行访问,其刷新到server 2 上的memcahed中
关闭memcahed
数据切换到server1 上的memcached中,保持成功
关闭tomcat
以上是关于nginx+tomcat+memcache会话保持的主要内容,如果未能解决你的问题,请参考以下文章
Nginx反代至Tomcat基于memcached的session保持