xiaochuan 发表于 2016-12-25 10:18:01

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节点,如果是多个,用逗号隔开
页: [1]
查看完整版本: nginx tomcat mem做负载session共享