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


原文地址:http://blog.51cto.com/11233559/2110658

时间: 2024-10-19 18:13:34

nginx+tomcat+memcache会话保持的相关文章

haproxy+nginx+tomcat+memcache实现动静分离、会话同步集群

一.实验说明 haproxy在前端做负载均衡调度,后端实现动静分离 静态资源server为nginx 动态内容使用nginx&tomcat做app server,集成于单机,两台 使用两台memcache服务器做高可用session缓存,实现app server宕机时会话不中断 以上组合使用实现业务.session.session缓存均为高可用的集群. 二.实验准备 haproxy server:192.168.0.168 nginx server(静态):192.168.0.68 nginx+

nginx+tomcat+memcache

nginx支持静态页面tomcat支持动态页面如果所在的nginx服务器想要进行动态页面则需与tomcat结合此时nginx只是起到转发的作用对jsp的处理是由tomcat来处理的. 一 搭建jdk 先搭建java环境 1  tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/    ###解压到/usr/local下### 2 ln -s jdk1.7.0_79/ java            ###软链接方便版本升级后的使用### 3 vim /

windows下nginx+tomcat+memcache负载均衡tomcat集群session共享搭建

使用nginx 做负载均衡 memcached处理session共享  环境 windows 7  X64  java : jdk-7windows-x64.rar  nginx : http://nginx.org/en/download.html ,这里我们推荐下载稳定版(stable versions),本文采用nginx-1.8.0  tomcat:apache-tomcat-7.0.63 在同一台电脑上配置多个tomcat(本次采用两个tomcat来示范),修改 conf/server

Nginx+Tomcat+Memcache实现负载均衡及Session共享

第一部分 环境介绍 部署环境: Host1:Nginx.Memcached.Tomcat1 Host2:Tomcat2 Tomcat_version:8.0.38 第二部分 Nginx+Tomcat实现负载均衡 1.nginx及tomcat的安装省略 2.nginx负载均衡配置: http标签中定义tomcat集群: upstream tomcat_server { server 101.200.229.38:8080; server 101.200.162.214:8080; } server

nginx+tomcat+memcache+session绑定

节点信息 节点1 ip:172.16.30.1 nginx 节点101 ip:172.16.30.101 tomcat 节点102 ip:172.16.30.102 tomcat 通过nginx代理访问后端tomcat,并实现memcache的会话绑定,即同一个浏览器访问得到的session结果是一样的 1.节点1安装nginx [[email protected] ~]# yum install -y nginx 1.1.启动nginx测试 [[email protected] ~]# ser

session共享机制(nginx+tomcat+memcached)

一.配置jdk环境java的编译环境------server2和server3同时配置 jdk是JAVA的开发编译环境是java语言的软件开发工具包主要用于移动设备的嵌入式设备上的java应用程序 jdk的安装基础过程 1将jdk的包解压在指定路径 使用-C来指定路径 2进入指定的路径给jdk解压后的目录做个软连接 3编辑系统的环境变量使得java命令可以使用更改后让文件生效让环境变量文件即时生效使用source命令 4编辑java测试文件编译执行 1. get jdk-7u79-linux-x

nginx+tomcat+memcached

######### nginx+tomcat+memcache ############ 实验环境rhel6.53台主机iptables防火墙关闭 实验主机172.25.8.2    nginx172.25.8.3    tomcat memcached172.25.8.4    tomcat memcached 实验原理nginx在前端接受客户端请求进行负载均衡Tomcat-1(T1)将session存储在memcached-2(T2)上.只有当M2不可用时,T1才将session存储在mem

nginx+tomcat集群+redis(memcache)session共享!

nginx+tomcat+redissession共享 常用保持session的方式: 1.一些代理(比如nginxIP_hash) 1.使用数据库来存储Session 2.使用Cookie来存储Session                       3.使用Redis来存储Sesssion(memcache也可以) --   环境: 192.168.1.220   nginx    centos6.6   端口:80 版本:1.9.2 192.168.1.224   tomcatA  ce

redis缓存服务器(Nginx+Tomcat+redis+MySQL实现session会话共享)

一.redis介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现master-slave(主从)同步. Redis是一个高性能的key-valu