http://jlsfwq.blog.51cto.com/818700/195879
测试环境:
server1   服务器上安装了  nginx + tomcat01
server2  服务器上只安装了 tomcat02         
server1  IP 地址: 192.168.2.88
server2  IP 地址: 192.168.2.89
安装步骤:
1. 在server1 上安装配置 nginx + nginx_upstream_jvm_route
shell $> wget -c http://sysoev.ru/nginx/nginx-0.7.61.tar.gz
shell $> svn checkout http://nginx-upstream-jvm-route.googlecode.com/svn/trunk/ nginx-upstream-jvm-route-read-only
shell $> tar zxvf  nginx-0.7.61
shell $> cd nginx-0.7.61
shell $> patch -p0 < ../nginx-upstream-jvm-route-read-only/jvm_route.patch
shell $> useradd www
shell $> ./configure --user=www --group=www --prefix=/usr/local//nginx --with-http_stub_status_module --with-http_ssl_module  --add-module=/root/nginx-upstream-jvm-route-read-only
shell $> make
shell $> make install
2.分别在两台机器上 安装 tomcat和java (略)
 设置tomcat的server.xml, 在两台服务器的tomcat的配置文件中分别找到:
<Engine name="Catalina" defaultHost="localhost" >
分别修改为:
Tomcat01:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="a">
Tomcat02:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="b">
并在webapps下面建立aa文件夹,在里面建立要测试的index.jsp文件,内容如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
%>
<html>
  <head>
    </head>
      <body>
       88
       <!--server1  这里为 88 -->
        <br />
       <%out.print(request.getSession()) ;%>
       <!--输出session-->
        <br />
        <%out.println(request.getHeader("Cookie")); %>
      <!--输出Cookie-->
      </body>
 </html>
两个tomcat一样只需要修改红色的部分
分别启动两个tomcat
 
3.设置nginx
shell $> cd /usr/local/nginx/conf
shell $> mv nginx.conf nginx.bak
shell $> vi nginx.conf
## 以下是配置 ###
user  www www;
worker_processes 4;
error_log  logs/nginx_error.log  crit;
pid        /usr/local/nginx/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
 use epoll;
 worker_connections 2048;
}
http
{
  upstream backend {
    server 192.168.2.88:8080 srun_id=a; 
    server 192.168.2.89:8080 srun_id=b;
    jvm_route $cookie_JSESSIONID|sessionid reverse;
  }
 
 include       mime.types;
 default_type  application/octet-stream;
 #charset  gb2312;
 charset UTF-8;
 server_names_hash_bucket_size 128;
 client_header_buffer_size 32k;
 large_client_header_buffers 4 32k;
 client_max_body_size 20m;
 limit_rate  1024k;
 sendfile on;
 tcp_nopush     on;
 keepalive_timeout 60;
 tcp_nodelay on;
 fastcgi_connect_timeout 300;
 fastcgi_send_timeout 300;
 fastcgi_read_timeout 300;
 fastcgi_buffer_size 64k;
 fastcgi_buffers 4 64k;
 fastcgi_busy_buffers_size 128k;
 fastcgi_temp_file_write_size 128k;
 gzip on;
#gzip_min_length  1k;
 gzip_buffers     4 16k;
 gzip_http_version 1.0;
 gzip_comp_level 2;
 gzip_types       text/plain application/x-javascript text/css application/xml;
 gzip_vary on;
 #limit_zone  crawler  $binary_remote_addr  10m;
server
 {
   listen       80;
   server_name  192.168.2.88;
   index index.html index.htm index.jsp;
   root  /var/www;
 
   #location ~ .*\.jsp$
   location  / aa/
  {
     proxy_pass  http://backend;
     proxy_redirect    off;
     proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
     proxy_set_header  X-Real-IP  $remote_addr;
     proxy_set_header  Host $http_host;
   }
   location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
   {
     expires      30d;
   }
   location ~ .*\.(js|css)?$
   {
     expires      1h;
   }
   location /Nginxstatus {
     stub_status on;
     access_log   off;
   }
  log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
#  access_log  off;
  }
 
}
 
4.测试
打开浏览器,输入:http://192.168.2.88/aa/
 
刷新了N次还都是88,也就是补丁起作用了,cookie 值 也获得了,为了测试,我又打开了 “遨游浏览器”(因为session 和 cookie问题所以从新打开别的浏览器),输入网址:
http://192.168.2.88/aa/
显示89,刷新N次后还是89,大家测试的时候如果有疑问可一把 nginx 配置文件的
srun_id=a  srun_id=b 去掉,然后在访问,就会知道 页面是轮询访问得了!!
 
倒此OK!!!!

Nginx+tomcat负载均衡session问题解决相关推荐

  1. Linux下Nginx+Resin负载均衡,session问题解决实例

    Linux下Nginx+Resin负载均衡,session问题解决实例 转载:http://blog.chinaunix.net/uid-14007440-id-3150269.html https: ...

  2. Nginx+Tomcat 负载均衡集群方案

    2019独角兽企业重金招聘Python工程师标准>>> Nginx+Tomcat 负载均衡集群方案 该方案是我之前做过的一个项目生产应用的,目前运行良好,如何您生产使用,请先做好测试 ...

  3. Nginx+Tomcat负载均衡

    Nginx+Tomcat 负载均衡集群方案 该方案是我之前做过的一个项目生产应用的,目前运行良好,如何您生产使用,请先做好测试. 系统架构图 下载软件包 [root@Nginx-node1 src]# ...

  4. Nginx+Tomcat负载均衡、动静分离

    目录 一:Nginx实现负载均衡原理 二:Nginx动静分离原理 三:Nginx+Tomcat负载均衡.动静分离实验 3.1部署Nginx负载均衡器 3.1.1关闭防火墙,将安装nginx所需的软件包 ...

  5. 搭建Nginx+Tomcat 负载均衡集群

    Nginx+Tomcat 负载均衡集群 一. 实验拓扑: 二. 实验要求: 1. 试验环境: 主机 操作系统 所需软件 Nginx服务器 rhel 6.5 x86_64 nginx-1.6.0.tar ...

  6. Nginx+Tomcat负载均衡、动静分离集群

    Nginx+Tomcat负载均衡.动静分离集群 一.Nginx实现负载均衡原理 二.Nginx 配置反向代理的主要参数 三.Nginx 动静分离实现原理和优势 1.Nginx 静态处理优势 2.动静分 ...

  7. Nginx+Tomcat负载均衡和动静分离理论实操详解来袭!

    文章目录 一:关于动静分离和负载均衡介绍 1.1:Nginx+Tomcat的动静分离 1.2:Nginx+Tomcat的负载均衡 1.3:Nginx配置反向代理的主要参数 二:Nginx+Tomcat ...

  8. 使用Redis存储Nginx+Tomcat负载均衡集群的Session

    配置Tomcat的session共享可以有三种解决方案: 第一种是以负载均衡服务器本身提供的session共享策略,每种服务期的配置是不一样的并且nginx本身是没有的. 第二种是利用web容器本身的 ...

  9. Apache + Tomcat 负载均衡 session复制

    转自:http://blog.csdn.net/cssmhyl/article/details/8455400 http://snowolf.iteye.com/blog/743611 Apache  ...

最新文章

  1. j3455跑mysql_自用NAS升级折腾小记+J3455开硬件直通
  2. 【时间序列】时序预测竞赛之异常检测算法综述
  3. 每个程序员都应该知道的基础数论
  4. python getattr_Python中的getattr()函数详解:
  5. android学习笔记之ProgressDialog的使用
  6. JSP Unable to compile class for JSP
  7. 平安银行网银助手官方版
  8. Houdini11:材质
  9. yml格式(list)
  10. 修改禅道使用的数据库
  11. LaTex使用技巧19:罗马数字输入(大写和小写)
  12. Golang 实现word和Excel处理
  13. 胜利大逃亡(BFS)
  14. Ubuntu下运行免安装Redis及Redis开机自动启动配置
  15. 购买2019最佳性价比Android智能手表(smart watch)
  16. e的近似求解方法matlab,3X^2-E^X并用matlab切线法求出所有实根的近似值,源程序
  17. 解决IE系列浏览器上传页面接收问题
  18. XJTU第十三周大计基编程作业
  19. ResidualCoder
  20. 你的电脑是不是github访问一段时间又不能访问了?提示无法访问此网站。教你原理,这次学会就不用再百度

热门文章

  1. 武汉python培训哪一家好一些-一家靠谱的武汉Python培训机构很重要
  2. java和python哪个好学-Python和Java,哪个容易学呢?
  3. python在日常工作处理中的应用-python在工作中的应用场景介绍
  4. python映射类型-python映射类型的相关介绍
  5. 初学者学python看什么书-python初学者看什么书
  6. python面向对象编程的优点-Python面向对象编程 一
  7. python面试常见问题-Python面试常见的8个问题及答案总结
  8. python语言官方网站地址-python 中国地址
  9. python php区别-Python3 面向对象 且与 PHP 区别
  10. python自学教程读书导图-python机器学习基础教程读书笔记八(全书总结)