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高可用会话保持

nginx+tomcat+memcache会话保持

Nginx反代至Tomcat基于memcached的session保持

Apache+Tomcat+Memcached实现会话保持

Tomcat+Memcached+Nginx实现session会话共享

nginx反代后端动静分离 php会话保持使用memcached