实施步骤:
1.安装三个介质:memcached,nginx,tomcat
1>安装memcached
////////begin////////
memcached-1.4.24.tar.gz
libevent-2.0.21-stable.tar.gz
./configure --prefix=/usr/local/memcached-1.4.20 --with-libevent=/usr/local/libevent-2.0.21-stable
////////end//////////
或者
yum install libevent-devel
2>安装nginx
……
3>部署Tomcat
……
2.分别配置如下:
1>Tomcat配置
a.提供jar包,放在${Tomcat_Home}/lib下
////////////begin////////
couchbase-client-1.2.0.jar
kryo-1.03.jar
kryo-serializers-0.10.jar
memcached-session-manager-1.6.5.jar
memcached-session-manager-tc7-1.6.5.jar
minlog-1.2.jar
msm-kryo-serializer-1.6.5.jar
spymemcached-2.10.2.jar
////////////end//////////
注意:各版本严格按列表来,其中,【spymemcached-2.10.2.jar】要求最低是2.10.2
【kryo-serializers-0.10.jar】要求最低是0.10。
否则,会提示ClassNotFound或者NoSuchMethod之类的错误。
b.修改配置文件,${Tomcat_Home}/conf/server.xml
//////////begin////////
<Context path="/bb" docBase="E:\work\apache-tomcat-7.0.59\webcode\bb" reloadable="false" crossContext="true">
<!-- using kryo serializer -->
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:192.168.1.190:11211 n2:192.168.1.209:11311"
requestUriIgnorePattern=".*\.(png|gif|jpg|css|js|ico|jpeg|htm|html)$"
sessionBackupAsync="true"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
copyCollectionsForSerialization="true" />
</Context>
//////////end//////////
注意:
>>memcachedNodes:memcached服务器信息,多个服务器时,使用空格分开,如:【n1:192.168.1.190:11211 n2:192.168.1.209:11311】
>>如果需要集合类对象,如:ArrayList,ConcurrentHashMap等做序列化,需要开启两个参数如:【copyCollectionsForSerialization="true"】和【sessionBackupAsync="true"】
2>Nginx配置
如果nginx端口号不是默认的80时,需要redirect,如下:
///////begin////////
proxy_redirect http://192.168.1.190 http://192.168.1.190:88;
///////end//////////
3>Memcached启动
memcached -d -m 2048 -l 192.168.1.190 -p 11211 -u root
【Monitor】
/////////////begin//////////
stats
STAT pid 27915
STAT uptime 87784
STAT time 1446039210
STAT version 1.4.24
STAT libevent 1.4.13-stable
STAT pointer_size 64
STAT rusage_user 1.295803
STAT rusage_system 1.131827
STAT curr_connections 5
STAT total_connections 36
STAT connection_structures 9
STAT reserved_fds 20
STAT cmd_get 64
STAT cmd_set 26
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 3
STAT get_misses 61
STAT delete_misses 0
STAT delete_hits 8
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 7185
STAT bytes_written 1815
STAT limit_maxbytes 2147483648
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT bytes 1055
STAT curr_items 3
STAT total_items 21
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0
STAT reclaimed 0
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
END
/////////////end////////////
分享到:
相关推荐
总结来说,Tomcat+memcached+Nginx实现session共享是通过MSM中间件,配合Nginx的负载均衡,将session数据存储在memcached中,实现跨服务器的用户状态一致性。配置过程涉及到Tomcat、memcached和Nginx的安装、配置...
Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置
描述中提到的“nginx+tomcat8+memcached session共享所需jar包,直接放到tomcat/lib下即可”,暗示了实现这一功能需要一些特定的Java库(JAR包)。这些JAR包将集成到Tomcat的运行环境中,使Tomcat能够与Memcached...
本知识点聚焦于如何在Windows环境下,利用Nginx作为反向代理,Memcached进行session共享,以及Tomcat作为Java应用服务器来搭建这样一个集群。这个配置确保了用户在集群中的任何一台服务器上的操作都能被其他服务器...
本主题将详细探讨如何在Windows7环境下,利用Nginx作为负载均衡器,Memcached作为session存储,以及Tomcat作为应用服务器,实现session共享。 **1. Nginx介绍与配置** Nginx是一款高性能的HTTP和反向代理服务器,它...
Nginx+Tomcat+Memcached实现tomcat集群和session共享 tomcat部分
通过将session数据存储在memcached中,多台tomcat服务器可以共享同一份session,保证了用户在不同服务器间的会话一致性。 实现过程大致如下: 1. 配置lvs作为第一层负载均衡器,根据业务需求选择合适的调度策略。 ...
标题中的“memcached+tomcat7共享session所需要的jar包”是指使用Memcached作为分布式缓存系统,实现Tomcat7服务器间的Session共享。这通常是为了在集群环境中解决Session复制或粘滞会话的问题,提高Web应用的可扩展...
在构建高性能、高可用性的Web应用系统时,通常会采用Nginx作为反向代理和负载均衡器,Tomcat作为应用服务器处理Java Servlet和JSP,而Memcached用于存储和共享Session数据。这个配置可以有效地分发用户请求,提高...
nginx+memcached+tomcat 负载均衡+session共享实现所有代码 教程请看:https://blog.csdn.net/dayuang2009/article/details/80312249
它允许将用户的 session 数据从 tomcat 服务器分发到 memcached 网络中的多个节点,从而实现 session 共享和高可用性。 **nginx** Nginx 是一个高性能的 HTTP 和反向代理服务器,广泛用于负载均衡和静态资源服务。...
【Nginx、memcached和Tomcat集群配置实现session共享与负载均衡】 在Windows环境下,构建一个基于Nginx的高可用性Web集群,通常包括Nginx作为反向代理和负载均衡器,memcached用于session共享,以及多个Tomcat实例...
【Nginx+Tomcat+Memcached实现Tomcat集群和session共享】 在现代Web应用程序的部署中,为了提高系统的可用性和可扩展性,通常会采用集群技术。将多个Tomcat服务器组成一个集群,通过负载均衡策略分发用户请求,以...
Nginx+Tomcat7+Memcached集群Session共享 ...主要是利用memcached-session-manager(下面简称msm)开源tomcat插件改变tomcat原始的session存储机制,将session的存储放到分布式缓存memcache中,从而实现对session的共享
本文将详细介绍如何利用Nginx作为反向代理服务器,结合Memcached内存缓存系统,以及Tomcat应用服务器来实现这一目标。 首先,我们要理解负载均衡的概念。负载均衡是一种分布式系统架构技术,它的目的是将工作负载...
兼容Tomcat7 与tomcat8 +memcached做session共享 , 解决了tomcat7与Tomcat8的 java.lang.NoSuchFieldError: attributes 错误。
【描述】中的"tomcat7+memcached session共享的架包"强调了这个集合主要关注的是在Tomcat7服务器上如何通过Memcached来实现session的跨服务器共享。在Web应用集群中,session共享是一个关键问题,因为用户在访问不同...
总结,"nginx+tomcat+memcached"架构通过将session数据存储在Memcached中,实现了跨服务器的session共享,增强了系统的可扩展性和可用性。在实际部署过程中,需要正确配置和选择合适的jar包支持,同时关注安全性和...
标题中的“nginx+tomcat6+session共享”指的是在Web服务器和应用服务器的集群环境中,如何通过Nginx、Tomcat6以及Session共享技术来实现用户会话在多个服务器之间的同步。这一配置对于高并发、高可用的系统设计至关...
Nginx+Tomcat+Memcached集群Session共享实例,Nginx 1.81 + tomcat1 + tomcat2 + Memcached 完整可运行 访问根目录下 test.jsp 可看效果