nginx-tomcat负载均衡redis-session共享,静态资源分离

原创 2016年05月31日 12:22:57

基本环境:

redis-2.8

apache-tomcat-6.0.41

nginx1.6.2

1redis配置

1,配置redis访问密码

redis的目录下找的redis.conf,解开requirepass注释(此属性用于设置密码)。

如:

requirepass root

2,启动redis

redis的目录以后台运行的方式启动redis

 redis-server /root/redis-2.8.9/redis.conf &

2,tomcat准备工作

1,准备tomcat应用服务器

部署一个应用到tomcat,将里面的需要静态处理的文件,例如img,单独存放在一个文件夹下,如static下面。将用户产生的媒体文件存放到一个共用的目录下,如/data/media下。后面用nginx配置处理。

2,添加tomcat和redis做session共享的jar包

tomcat自己的lib下添加session共享所需的jar包,需要注意tomcat的版本对应。

 

commons-pool-1.6.jar

jedis-2.1.0.jar

tomcat-redis-session-manager-1.2-tomcat-6.jar

3,修改tomcat的context.xml配置

tomcatconf目录下找到context.xml配置文件,在标签<Context>下添加:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. <!-- 利用redis 进行session 共享 -->  
  2. <Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />  
  3. <Manager className="com.radiadesign.catalina.session.RedisSessionManager"  
  4. host="127.0.0.1"  
  5. port="6379"  
  6. password="root"  
  7. database="0"  
  8. maxInactiveInterval="3600"/>  

提供的配置中默认没有password属性,我们可以查看tomcat-redis-session-manager-1.2-tomcat-6.jar的源码,可以在RedisSessionManager.class中找的password属性。获取【下载地址】  springmvc整合mybatis框架源码 bootstrap

 

4,复制tomcat修改各个tomcat的端口

配置完了tomcatredis共享的配置之后,我们就可以将此tomcat复制多份,然后修改tomcat的端口,如:

tomcat1Server port="8005"Connector port="8080"ajp Connector port="8009"

tomcat2Server port="8006"Connector port="8081"ajp Connector port="8010"

tomcat3Server port="8007"Connector port="8082"ajp Connector port="8011"

3,nginx配置

1,注释默认访问

ngixnginx/conf.d/下有个default.conf,将里面的listen 80 default_server改为:

listen 80;

2,在添加需要负载的应用服务器

ngixnginx/conf.d/的创建一个conf,如test.conf。在里面添加upstream pool配置段,将各个需要负载服务器的地址填到下面:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. upstream pool{  
  2.     server 127.0.0.1:8080;  
  3.     server 127.0.0.1:8081;  
  4.     server 127.0.0.1:8082;  
  5. }  

3,配置访问域名

继续在test.conf中添加:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. server {  
  2.     listen 80 default_server;  
  3.     server_name www.test.cn;  
  4.     gzip on;  
  5.     gzip_min_length  1k;  
  6.     gzip_buffers     4 16k;  
  7.     gzip_http_version 1.0;  
  8.     gzip_comp_level 2;  
  9.     gzip_types  text/plain application/x-javascript text/css application/xml;  
  10.     gzip_vary on;  
  11.     location / {  
  12.       proxy_set_header Host $host;  
  13.       proxy_set_header X-Forwarded-For $remote_addr;  
  14.       proxy_connect_timeout   3;  
  15.       proxy_send_timeout      30;  
  16.       proxy_read_timeout      30;  
  17.       proxy_pass http://pool;  
  18.   }  
  19.   error_page 500 502 503 504 /50x.html;  
  20.   location = /50x.html{  
  21.       root /home/workspace/server/apache-tomcat-6.0.41-8080/webapps/test;  
  22.   }  
  23.   if ($host != 'www.test.cn' ){  
  24.     rewrite ^/(.*)$ http://www.test.cn/$1 permanent;  
  25.   }  
  26.    
  27. }  

4,配置静态资源访问

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. server {  
  2.      listen 80;  
  3.      server_name static.test.cn;  
  4.      location /static {  
  5.            root /home/workspace/server/apache-tomcat-6.0.41-8080/webapps/test;  
  6.      }  
  7.      location /media {  
  8.            root /home/workspace/file;  
  9.      }  
  10. }  

5,修改请求体的大小

http {}里增加 client_max_body_size属性,此属性会影响很多的地方,例如上传。

client_max_body_size 100m;

4,启动nginx和tomcat,测试

测试负载均衡:

启动nginx和所有tomcat,然后到网页登录,然后启动另一个tomcat,关闭上一个。查看是否还能访问。开启所有tomcat用工具发起大量请求,查看请求是否被分发到各个tomcat

测试session共享:

启动nginx和一个tomcat,然后到网页登录,然后启动另一个tomcat,关闭上一个。查看是否还在登录状态。

相关文章推荐

SQL 语句调优(整理)(一)

面试笔试中经常会涉及到SQL的调优,然而,SQL性能上的优化大部分来自对SQL语句的优化...

数据库性能调优——sql语句优化(转载及整理)

下面是在网上搜集的一些个人认为比较正确的调优方案,如有错误望指出,定虚心改正 (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):     ORACLE 的解析器按照从右到左的顺...

nginx-tomcat负载均衡redis-session共享,静态资源分离

基本环境: redis-2.8 apache-tomcat-6.0.41 nginx1.6.2

nginx-tomcat负载均衡redis-session共享,静态资源分离

基本环境: redis-2.8apache-tomcat-6.0.41nginx1.6.21,redis配置 1,配置redis访问密码 到redis的目录下找的redis.conf,解开req...

Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享

Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享 多个Tomcat负载均衡实例:可在服务器上复制出多个Tomcat分别修改Tomcat的 http访问端口(默...

Redis学习笔记(六)Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享

CentOS安装Nginx http://centoscn.com/CentosServer/www/2013/0910/1593.html CentOS安装Tomcat http://blog.cs...

nginx+tomcat+redis(session共享)实现负载均衡,动静分离

(此文章不介绍安装redis和tomcat) redis的session共享的包和nginx的windows版本下载地址 链接:http://download.csdn.net/download/u0...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nginx-tomcat负载均衡redis-session共享,静态资源分离
举报原因:
原因补充:

(最多只允许输入30个字)