nginx tomcat mem做负载session共享

现在网站的主流做法都是nginx作为前端服务器,后面一群应用服务器做负载,这里简单介绍下nginx,tomcat,mem做负载的配置

首先下载nginx,tomcat,mem,以及谷歌做session复制的几个jar

nginx安装非常简单,直接解压即可用,由于是自己的台式机,直接下了一个win环境的,解压后,在文件的根目录下面有一个nginx.exe的文件,启动即运行了nginx,非常简单,主要说一下nginx的配置,打开config目录下面的nginx.conf

worker_processes  1;

error_log  logs/error.log;

error_log  logs/error.log  notice;

error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {

    worker_connections  1024;

}

    

http {

    include       mime.types;

    default_type  application/octet-stream;

   

    sendfile        on;

    keepalive_timeout  65;

upstream myserver { 

 server 127.0.0.1:7070;

 server 127.0.0.1:6060;

    

}

    server {

        listen       80;

        server_name  guiwenqing.my.com;

       location  / { 

  proxy_pass http://myserver ; #这里的名字和上面的cluster的名字相同

  proxy_redirect off; 

  proxy_set_header Host $host; 

  proxy_set_header X-Real-IP $remote_addr; 

  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

}

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

}

worker_processes 后端工作的进程数,一般配置成cpu数的2倍

主要看一下http里面的东西

upstream myserver { 

 server 127.0.0.1:7070;

 server 127.0.0.1:6060;     

}

你所负载的机器地址和端口

server {

        listen       80;

        server_name  xxxxx.my.com;

       location  / { 

  proxy_pass http://myserver ; #这里的名字和上面的cluster的名字相同

  proxy_redirect off; 

  proxy_set_header Host $host; 

  proxy_set_header X-Real-IP $remote_addr; 

  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

}

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

    }

所需要反向代理的域名和监听端口,由于是单机,只好配置了80端口,并且将hosts的配置更改一下

location  / 这个/代表所有的请求都转发到负载的机器上面,如果一些静态的文件直接放在了nginx的服务器上面,这里可以配置一下正则过滤

这样nginx的服务就配置和启动好了

然后就是tomcat的配置

首先将mem的session复制的jar放入tomcat的lib下面

打开tomcat的server.xml

在其context节点下面新增

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"  

                    memcachedNodes="n1:127.0.0.1:11211"  

                    sticky="false"  

                    sessionBackupAsync="false"  

                    lockingMode="auto"  

                    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"  

                    transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"  

                    />  

这里只有一个mem节点,如果是多个,用逗号隔开

猜你喜欢

转载自lovewen-2004.iteye.com/blog/2092347
今日推荐