标签:
redis-2.8
apache-tomcat-6.0.41
nginx1.6.2
到redis的目录下找的redis.conf,解开requirepass注释(此属性用于设置密码)。
如:
requirepass root
到redis的目录以后台运行的方式启动redis
redis-server /root/redis-2.8.9/redis.conf &
部署一个应用到tomcat,将里面的需要静态处理的文件,例如img,单独存放在一个文件夹下,如static下面。将用户产生的媒体文件存放到一个共用的目录下,如/data/media下。后面用nginx配置处理。
在tomcat自己的lib下添加session共享所需的jar包,需要注意tomcat的版本对应。
commons-pool-1.6.jar
jedis-2.1.0.jar
tomcat-redis-session-manager-1.2-tomcat-6.jar
到tomcat的conf目录下找到context.xml配置文件,在标签<Context>下添加:
提供的配置中默认没有password属性,我们可以查看tomcat-redis-session-manager-1.2-tomcat-6.jar的源码,可以在RedisSessionManager.class中找的password属性。
配置完了tomcat和redis共享的配置之后,我们就可以将此tomcat复制多份,然后修改tomcat的端口,如:
tomcat1:Server port="8005",Connector port="8080",ajp Connector port="8009"
tomcat2:Server port="8006",Connector port="8081",ajp Connector port="8010"
tomcat3:Server port="8007",Connector port="8082",ajp Connector port="8011"
在ngix的nginx/conf.d/下有个default.conf,将里面的listen 80 default_server改为:
listen 80;
在ngix的nginx/conf.d/的创建一个conf,如test.conf。在里面添加upstream pool配置段,将各个需要负载服务器的地址填到下面:
继续在test.conf中添加:
在http {}里增加 client_max_body_size属性,此属性会影响很多的地方,例如上传。
client_max_body_size 100m;
测试负载均衡:
启动nginx和所有tomcat,然后到网页登录,然后启动另一个tomcat,关闭上一个。查看是否还能访问。开启所有tomcat用工具发起大量请求,查看请求是否被分发到各个tomcat。
测试session共享:
启动nginx和一个tomcat,然后到网页登录,然后启动另一个tomcat,关闭上一个。查看是否还在登录状态。
nginx-tomcat负载均衡redis-session共享,静态资源分离
标签:
原文地址:http://blog.csdn.net/pa5201314/article/details/42123005