zoukankan      html  css  js  c++  java
  • nginx-tomcat负载均衡redis-session共享,静态资源分离

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

    基本环境:

    redis-2.8

    apache-tomcat-6.0.41

    nginx1.6.2

    1redis配置

    1,配置redis訪问password

    redis的文件夹下找的redis.conf,解开requirepass凝视(此属性用于设置password)。

    如:

    requirepass root

    2,启动redis

    redis的文件夹以后台执行的方式启动redis

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

    2tomcat准备工作

    1,准备tomcat应用server

    部署一个应用到tomcat,将里面的须要静态处理的文件,比如img。单独存放在一个文件夹下,如static以下。

    将用户产生的媒体文件存放到一个共用的文件夹下,如/data/media下。后面用nginx配置处理。

    2。加入tomcatredissession共享的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,改动tomcatcontext.xml配置

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

    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属性。

     

    4。复制tomcat改动各个tomcat的port

    配置完了tomcatredis共享的配置之后,我们就能够将此tomcat复制多份,然后改动tomcat的port。如:

    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"

    3nginx配置

    1,凝视默认訪问

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

    listen 80;

    2,在加入须要负载的应用server

    ngixnginx/conf.d/的创建一个conf,如test.conf。在里面加入upstream pool配置段。将各个须要负载server的地址填到以下:

    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中加入:

    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,配置静态资源訪问

    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。启动nginxtomcat,測试

    測试负载均衡:

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

    測试session共享:

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

  • 相关阅读:
    python 常用的模块(hashlib)转
    python 常用的模块(struct)转
    python 常用的模块(base64)转
    python 常用的模块(collections)转
    django xadmin的使用和改造
    django静态html中做动态变化
    django 用model来简化form
    InstallShield2015制作安装包----------安装后实现电脑开机自启动
    InstallShield2015创建安装包
    InstallShield :cannot rename directory ...
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6914219.html
Copyright © 2011-2022 走看看