`
starbhhc
  • 浏览: 657926 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

nginx负载均衡初探(二)session共享研究

 
阅读更多

实验环境

1  PCRE库的安装:

下载页面:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

2  OpenSSL库的安装:

下载页面:http://www.openssl.org/source/

3  nginx安装

 

下载页面:http://nginx.org/en/download.html

 

搭建环境:

win7:tomcat6+jdk6+memcached

linux:vmware9+ubuntu+jdk6+nginx+tomcat6+memcached

首先在window是下安装memcached

memcached-1.2.6-win32-bin.zip,64 位下也可以

memcached.exe -d install 安装为windows服务

memcached.exe -d start 设置服务为开机启动

 

其次配置memcached的端口,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\memcached Server

ImagePath:"D:\java学习\nginx负载均衡配置\windows安装包\memcached.exe" -p 12345 -m 128 -d runservice

其中12345是memcached的端口,在tomcat的conf/context..xml中需要用到

配置tomcat的conf/context..xml

 
  1. linux、windows的tomcat的conf/context.xml配置方法一样  
  2. <?xml version='1.0' encoding='utf-8'?>  
  3.   
  4. <Context>     
  5.     <WatchedResource>WEB-INF/web.xml</WatchedResource>  
  6.    <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"  
  7.         memcachedNodes=<span style="font-size:18px;color:#FF6666;">"n1:192.168.0.108:12345 n2:192.168.110.130:12345"</span>  
  8.         requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"  
  9.         sessionBackupAsync="false"  
  10.         sessionBackupTimeout="100"  
  11.         transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"  
  12.         copyCollectionsForSerialization="false" />  
  13.      
  14.   
  15. </Context>  

在tomcat的lib下放入五个jar包

 

javolution-5.4.3.1.jar
memcached-2.6.jar
memcached-session-manager-1.5.1.jar
memcached-session-manager-tc6-1.5.1.jar
msm-javolution-serializer-1.5.1.jar

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

linux下安装memcached

libevent-1.3.tar.gz

memcached-1.2.2.tar.gz

使用tar解压~~

首先安装libevent

进入/usr/local/memcache install files/libevent-1.3解压后的libevent目录

#可以在后面加入参数,安装路径.不加的话默认安装到usr/local/lib

./configure 

#编译

make 

#安装

make install

查看是否安装成功

进入 ls usr/local/bin/lib/*.so,显示如下则是安装成功

 
  1. zhengx@zhengx-virtual-machine:/$ ls usr/local/lib/*.so  
  2. usr/local/lib/libevent.so  


其次,在linux下安装memcached

 

进入/usr/local/memcache install files/libevent-1.3/memcached-1.2.2。解压后的memcached目录

#–with-libevent=/usr/local/lib一定要加上去,否则安装失败!/usr/local/lib为libevent的安装目录

./configure –with-libevent=/usr/local/lib
 make
make install

如有不能创建目录的error,执行sudo chmod 777 /usr/local -R

启动memcached的方式

 /usr/local/bin/memcached -d -m 256 -u root -l 192.168.1.5 -p 12345 -c 256 -P /data/memcached/memcached.pid

配置linux的tomcat,和win7一样

 

然后在浏览器中http://192.168.110.130/t/,session不会变了

 

服务器IP: 192.168.0.108
会话Id: AAB11F62F8E5631B35BD92F5230AD4D5-n1
会话创建时间: Thu Jul 11 20:56:57 CST 2013
最后一次会话时间: Thu Jul 11 17:34:12 CST 2013
会话字符串: org.apache.catalina.session.StandardSessionFacade@fe30af

 

 

再次刷新,注意查看会话id(session_id)

 

服务器IP: 192.168.110.130
会话Id: AAB11F62F8E5631B35BD92F5230AD4D5-n1
会话创建时间: Thu Jul 11 20:56:57 CST 2013
最后一次会话时间: Thu Jul 11 20:56:59 CST 2013
会话字符串: org.apache.catalina.session.StandardSessionFacade@136e7f3

 

 

在tomcat1中session.setAttribute(key,value)。在tomcat2中session.getAttribute(key);测试

 

服务器IP: 192.168.0.108
会话Id: 7BF5B9DFCB6F35A49BA9FA9EF3813434-n1
   
   
   
从会话中取value: 我是windows上的tomcat

 

注意服务器的启动顺序:首先启动nginx,其次启动tomcat1和tomcat2

 

 

服务器IP: 192.168.110.130
会话Id: 7BF5B9DFCB6F35A49BA9FA9EF3813434-n1
会话创建时间: Tue Jul 16 16:43:23 CST 2013
最后一次会话时间: Tue Jul 16 16:45:29 CST 2013
会话字符串: org.apache.catalina.session.StandardSessionFacade@1162cdf
从会话中取value: 我是windows上的tomcat
分享到:
评论

相关推荐

    nginx+redis负载均衡、session共享

    在构建高性能、高可用的Web服务时,"nginx+redis负载均衡、session共享"是一个常见的解决方案。这个方案结合了Nginx的反向代理和负载均衡能力,以及Redis的内存数据存储和分布式特性,用于处理高并发场景下的HTTP...

    Nginx负载均衡Redis—Session共享—NFS文件共享

    ### Nginx负载均衡、Redis会话共享及NFS文件共享技术详解 #### 一、Nginx负载均衡概述 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,以其高性能、稳定性、丰富的功能集、简单...

    Nginx+tomcat 实现负载均衡session共享demo

    本教程将详细讲解如何通过`Nginx`实现`Tomcat`集群的负载均衡,并实现`session`共享。 首先,我们要理解负载均衡的基本概念。负载均衡是通过将工作负载分散到多个计算资源,以优化资源使用、最大化吞吐量、最小化...

    Windows+Nginx+Tomcat做负载均衡同时实现session共享Demo2

    这里我们关注的是如何在Windows环境下,利用Nginx作为反向代理服务器,与Tomcat应用服务器集群配合,实现负载均衡,并且确保Session数据在多个Tomcat实例之间共享。这个场景对于大型网站或高并发的应用尤其实用,...

    动态管理nginx负载均衡.zip

    动态管理nginx负载均衡.zip动态管理nginx负载均衡.zip动态管理nginx负载均衡.zip动态管理nginx负载均衡.zip动态管理nginx负载均衡.zip动态管理nginx负载均衡.zip动态管理nginx负载均衡.zip动态管理nginx负载均衡.zip...

    Nginx实现负载均衡 web均衡负载 webservice负载均衡 Nginx实现负载均衡配制全说明

    Nginx实现负载均衡 web均衡负载 webservice负载均衡 Nginx实现负载均衡配制全说明 为了多台后台的web、webservice服务能均衡负载,可以使用nginx进行处理 1)配置文件全配制ok 2)有两个完整的web服务做例子,可以...

    Nginx+Memcache负载均衡session共享应用

    Nginx,Mamcache负载均衡,session共享应用 Nginx,Mamcache负载均衡,session共享应用 Nginx,Mamcache负载均衡,session共享应用 Nginx,Mamcache负载均衡,session共享应用

    Windows+Nginx+Tomcat做负载均衡同时实现session共享Demo

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而Windows+Nginx+Tomcat的组合在处理高并发请求时,常被用来搭建负载均衡系统,同时通过session共享来保证用户会话的一致性。这个“Windows+Nginx+Tomcat做负载...

    Nginx负载均衡条件下Redis共享Session测试

    本测试主要探讨了在Nginx负载均衡环境下,通过Redis实现Session共享的解决方案。 **Nginx负载均衡** Nginx的负载均衡功能可以通过配置upstream模块实现。它可以根据不同的策略(如轮询、最少连接、IP哈希等)将请求...

    nginx负载均衡实现

    ### Nginx负载均衡实现 #### 一、负载均衡概念及必要性 负载均衡是一种用于在网络环境中分散工作负载的技术,通常用于改善网络性能、提高可用性和最大化资源利用。当单台服务器难以应对高流量和并发请求时,负载...

    nginx负载均衡配置,宕机自动切换方式

    在传统的nginx负载均衡配置中,并未直接提供后端服务器健康检查的功能,但nginx提供了几个重要的指令来帮助我们设置超时和重试机制,来间接保障服务的可用性。例如,proxy_connect_timeout指令用于设置nginx尝试连接...

    2.nginx.conf的配置(负载均衡的配置)和tomcat(session共享).doc

    1. **负载均衡服务器提供的Session共享**:某些硬件负载均衡器提供此功能,但Nginx不支持。 2. **Web容器自身的Session共享策略**:Tomcat可以配置集群模式,通过TCP广播复制Session数据。但这会占用大量带宽,适用...

    负载均衡和session 共享(Nginx + Memcached + Tomcat)

    在IT行业中,负载均衡和session共享是构建高可用、高性能Web服务的关键技术。本文将详细介绍如何利用Nginx作为反向代理服务器,结合Memcached内存缓存系统,以及Tomcat应用服务器来实现这一目标。 首先,我们要理解...

    基于lua的nginx自定义负载均衡

    基于lua的nginx自定义负载均衡基于lua的nginx自定义负载均衡

    nginx+tomcat实现负载均衡,共享session的两种方式

    nginx+tomcat实现负载均衡,共享session的两种方式: 1.使用Redis共享session 2.使用tomcat的组播功能。

    nginx负载均衡配置文件demo

    **Nginx负载均衡配置详解** 在高并发的互联网应用环境中,服务器的性能优化和负载分发至关重要。这里我们探讨的是如何使用Nginx作为反向代理和负载均衡器,来提升系统的整体处理能力,特别是在处理静态内容和优化...

    nginx常用负载均衡5种策略

    nginx经常用到的负载均衡的5种策略,注意细节,部分属性不能一起使用。

    5、redis session 实现Nginx负载均衡多ip同步1

    Redis Session 实现 Nginx 负载均衡多 IP 同步 Redis Session 是一种基于 Redis 的会话管理机制,通过使用 Redis 来存储会话数据,实现了会话的持久化和共享。Nginx 负载均衡是通过使用 Nginx 服务器来实现多个...

Global site tag (gtag.js) - Google Analytics