一、Nginx安装
详见前文:http://www.cnblogs.com/yixiwenwen/p/3574097.html
二、memcached安装和启动
详见前文:http://www.cnblogs.com/yixiwenwen/p/3574137.html
三、配置Nginx实现Tomcat的负载均衡和利用memcached实现session共享
1.修改nginx的配置文件nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
user
nobody;
worker_processes
4 ;
error_log
logs/error.log;
events
{
worker_connections
1024 ;
}
http
{
include
mime.types;
default_type
application/octet-stream;
sendfile
on;
keepalive_timeout
65 ;
gzip
on;
upstream
www.yixi.com {
server
192.168 . 137.46 : 100 ;
server
192.168 . 137.46 : 101 ;<br> server
192.168 . 137.46 : 102 ;<br>
}
server
{
listen
80 ;
server_name
www.yixi.com;
charset
utf- 8 ;
location
/ {
root
html;
index
index.html index.htm;
proxy_pass
http:
proxy_set_header
X-Real-IP $remote_addr;
client_max_body_size
100m;
}
location
~ ^/(WEB-INF)/ {
deny
all;
}
error_page
500 502 503 504 /50x.html;
location
= /50x.html {
root
html;
}
}
}
|
2.Tomcat配置
下载并解压三个tomcat7;
下载相应的jar包到所有的tomcat的lib目录下:
couchbase-client-1.2.2.jar
javolution-5.4.3.1.jar
memcached-session-manager-1.6.4.jar
memcached-session-manager-tc7-1.6.4.jar
msm-javolution-serializer-1.6.4.jar
msm-kryo-serializer-1.6.4.jar
msm-xstream-serializer-1.6.4.jar
spymemcached-2.10.2.jar
下面修改Tomcat配置文件,让Tomcat结合memcached实现session共享
[root@localhost lib]# vi /usr/local/tomcat/conf/context.xml
在配置文件中的<context></context>标签里面加入如下内容:
1
2
3
4
5
6
7
|
<Manager
className= "de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes= "n1:localhost:11211"
requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$"
sessionBackupAsync= "false"
sessionBackupTimeout= "100"
transcoderFactoryClass= "de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
copyCollectionsForSerialization= "false" />
|
为了测试在tomcat默认的webroot下的index.jsp中加入这些代码:
1
2
3
4
5
6
7
8
|
SessionID:<%=session.getId()%>
<BR>
SessionIP:<%=request.getServerName()%>
<BR>
SessionPort:<%=request.getServerPort()%>
<%
out.println( "This
is Tomcat Server 111111!" );
%>
|
(备注:当要同时启动多个tomcat时需要修改一些配置
a.修改/etc目录下的profile文件:
export CATALINA_HOME_test_1=/usr/local/tomcat_test/apache-tomcat-7-1
export CATALINA_HOME_test_2=/usr/local/tomcat_test/apache-tomcat-7-2
export CATALINA_HOME_test_3=/usr/local/tomcat_test/apache-tomcat-7-3
b.修改bin下的startup.sh和shutdown.sh
添加export CATALINA_HOME=$CATALINA_2_HOME利用profile中第二组设置
)
4.测试结果:
分别启动nginx memcachedtomcat
将host的文件中映射www.yixi.com到自己的ip;
在浏览器中访问www.yixi.com
访问的的是tomcat3 此时sessionID是:598EA38832CA14F8F14AC3EF0276AD3D-n1
刷新几次发现访问的还是tomcat3,
为了测试 先杀死tomcat3的进程!
再刷新...
发现当tomcat3挂掉之后 请求就到了tomcat1 并且我们希望的sessionId还是598EA38832CA14F8F14AC3EF0276AD3D-n1
再把tomcat1挂掉试试:
测试结果:
只剩下tomcat2还能用 而且sessionId是共享的。
这样整个配置和测试就完成了
附件:
tomcat部分:http://download.csdn.net/detail/yixiwenwen/6986845
nginx.conf :http://download.csdn.net/detail/yixiwenwen/6986719
分享到:
相关推荐
Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置
Nginx+Tomcat+Memcached实现tomcat集群和session共享 tomcat部分
Nginx+Tomcat7+Memcached集群Session共享 完整例子 主要是利用memcached-session-manager(下面简称msm)开源tomcat插件改变tomcat原始的session存储机制,将session的存储放到分布式缓存memcache中,从而实现对...
Nginx+Tomcat+Memcached共享session集群配置
Tomcat+Memcached实现tomcat集群和session共享.docx
Nginx+Tomcat+Memcached集群Session共享实例,Nginx 1.81 + tomcat1 + tomcat2 + Memcached 完整可运行 访问根目录下 test.jsp 可看效果
Nginx+Tomcat+Memcached实现tomcat集群和session共享Nginx+Tomcat+Memcached实现tomcat集群和session共享Nginx+Tomcat+Memcached实现tomcat集群和session共享
Nginx+Tomcat+Memcached-Session-Manager整合做集群实现Session共享,实战操作,亲测可用。本文档仅供交流学习使用,欢迎大家批评指正。
兼容Tomcat7 与tomcat8 +memcached做session共享 , 解决了tomcat7与Tomcat8的 java.lang.NoSuchFieldError: attributes 错误。
Nginx+tomcat+memcached集群session共享(win7下)所用到一些zip文件和必须的jar包
Windows7 + Nginx + Memcached + Tomcat 集群 session 共享
Nginx+Tomcat+memcached实现集群部署、负载均衡session共享,内含说明文档,下载地址,依赖jar包,全套提供,亲测有效
2)Tomcat6和Tomcat7使用不同msm支持包:memcached-session-manager-tc6-1.6.5.jar和memcached-session-manager-tc7-1.6.5.jar,只可选一,否则启动报错。 3)msm源码中的lib包版本太低:spymemcached需要使用...
couchbase-client-1.2.2.jar ...memcached-session-manager-1.6.5.jar memcached-session-manager-tc6-1.6.5.jar minlog-1.2.jar msm-kryo-serializer-1.6.5.jar reflectasm-0.9.jar spymemcached-2.10.2.jar
包含了http的集群环境,https的集群环境,同时考虑到集群环境的session问题,使用了tomcat+memcached实现tomcat集群环境共享。整个环境解压既可以使用,证书如果需要修改,直接将证书放在nginx的config目录,然后...
NULL 博文链接:https://shizhijian870525.iteye.com/blog/1724613
nginx+memcached+tomcat 负载均衡+session共享实现所有代码 教程请看:https://blog.csdn.net/dayuang2009/article/details/80312249
NULL 博文链接:https://jackroomage.iteye.com/blog/1936597
首先大家注意: 本文章中没有session共享,关于session共享我会在下一篇中讲解,先实现Nginx+tomcat负载均衡再实现session共享。 从网上查了好多资料,多走了很多弯路,现在把自己成功的方法拿出来与大家分享。 ...