1. 安装Nginx和Tomcat,这里假定nginx-0.7.65,Tomcat6.x。(Nginx可以从http://nginx.org/en/download.html下载)

安装Nginx

# ./configure

# make

# make install

在这里假定Nginx安装在nginxhost,tomcat分别安装在tomcathost1和tomcathost2上;

2. 修改/usr/local/nginx/conf/nginx.conf文件,

http { ... upstream myhost { server tomcathost1:8080 weight=1; server tomcathost2:8080 weight=2; } server { ... location / { proxy_pass http://myhost; } ... } ... }

3. 确定nginxhost和两台tomcathost可以互访,并且两个tomcat机器在一个网段内;

4. 确定两台tomcat host多播已经打开,在Linux机器上可以使用cat /proc/net/dev_mcast检查,如果文件存在基本上就是打开了;另外确定两台tomcat机器的/etc/hosts文件中包含“xxx.xxx.xxx.xxx    hostname”比如“172.17.1.101    tomcathost1”或“172.17.1.102    tomcathost2”;

5. 修改两个tomcat的conf/server.xml文件,对Engine节点分别添加jvmRoute="tomcat1"和jvmRoute="tomcat2",并添加以下内容:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> <!-- <Manager className="org.apache.catalina.ha.session.BackupManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" mapSendOptions="6"/> --> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.5" port="45564" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4000" selectorTimeout="100" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*/.gif;.*/.js;.*/.jpg;.*/.png;.*/.htm;.*/.html;.*/.css;.*/.txt;"/> <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>

6. 创建一个web app,这里为了简单使用tomcat自带的examples web app(webapps/examples),修改其中的WEB-INF/web.xml文件,在其中<display-name>Servlet and JSP Examples</display-name>节点后添加<distributable/>表明此应用与集群服务器复制Session;

7. 在两个Tomcat的webapps/examples目录下各创建一个test.jsp文件,用来测试Cluster中两个Tomcat的Session复制,代码如下:

<html> <head> <title></title> </head> <body> <% String mydata = request.getParameter("mydata"); if (mydata != null && mydata.length() != 0) { session.setAttribute("mydata", mydata); } out.println("request.getLocalAddr(): " + request.getLocalAddr()); out.println("<br/>"); out.println("request.getLocalPort(): " + request.getLocalPort()); out.println("<br/>"); out.println("Session ID: " + session.getId()); out.println("<br/>"); out.println("mydata: " + session.getAttribute("mydata")); %> <form> <input type=text size=20 name="mydata"> <br> <input type=submit> </form> </body> </html>

8. 启动Tomcat和Nginx,访问http://nginxhost/examples/,可以修改其中Session中的值,并且可以看到两个tomcat的Session中的值是一样的;

参考资料:

http://nginx.org/en

http://wiki.nginx.org/Main

Nginx + Tomcat6配置负载均衡相关推荐

  1. nginx+tomcat配置负载均衡集群

    一.Hello world 1.前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,方法如下: 首先去apache tomcat官网下载一个tomcat解压版. 解压该压缩包,生成 ...

  2. Apache2 + Tomcat6配置负载均衡

    1. 安装Apache和Tomcat,这里假定Apache2.2.3,Tomcat6.x:且Apache安装在apachehost,tomcat分别安装在tomcathost1和tomcathost2 ...

  3. Nginx + Tomcat 配置负载均衡集群

    1.前期环境准备 准备两个解压版tomcat,如何同时启动两个tomcat,请看我的另一篇文章<一台机器同时启动多个tomcat>. nginx官网下载解压版nginx. 创建一个简单的w ...

  4. centos安装nginx,配置负载均衡

     1.安装nginx 安装教程,参照:http://mp.weixin.qq.com/s/RVaRlRpHqZRjCaXGmOlfKw 2.反向代理的配置 修改部署目录下conf子目录的nginx ...

  5. nginx普通配置/负载均衡配置/ssl/https配置

    1.nginx普通配置 server {listen 80;server_name jqlin.lynch.com;access_log /var/log/nginx/main.log main;er ...

  6. nginx详细配置负载均衡全过程以及宕机情况处理

    一.准备 1.下载安装nginx服务器(win10/Linux同样适用) 2.两个以上服务的服务地址 二.详细步骤以及宕机情况处理 (1)编辑 nginx.conf 配置文件,该文件在conf文件夹下 ...

  7. Linux学习总结(16)——CentOS 下 Nginx + Tomcat 配置负载均衡

    最近在读埃隆·马斯克传记,他说「我认为现在有非常多的聪明人都在致力于互联网」.

  8. nginx 负载均衡 404_nginx配置负载均衡

    - 负载均衡是网络基础架构的一个非常关键的组成部分,有了负载均衡,我们可以把应用服务器部署多台,避免了服务宕机,也增强了服务的性能及可用性. - 负载均衡的算法有很多 ,这里只是简单提下, - **轮 ...

  9. Nginx+Tomcat实现负载均衡、动静分离集群部署

    Nginx+Tomcat实现负载均衡.动静分离集群部署 一.Tomcat多实例部署 1.安装好jdk 2.安装tomcat 3.配置tomcat环境变量 4.修改tomcat2中的server.xml ...

最新文章

  1. sql数据库系统表和mysql系统表
  2. 燃爆了!天猫联合天一广场搞事情,800万宁波人坐不住了
  3. C语言的头文件和库文件(函数库)
  4. golang——net/rpc包学习
  5. “关机能手”自动关闭电脑发起ARP***
  6. .NET Worker Service 如何优雅退出
  7. 小程序点击地图气泡获取气泡_气泡上的气泡
  8. 使用kettle导入数据到ADB for PostgreSQL
  9. php7 configure 参数,PHP编译参数configure配置详解
  10. 码匠编程:CSS让元素绝对居中,你知道几种方法?
  11. 动态规划——详细入门讲解
  12. linux 同步utc时间吗,中国时区utc在服务器上同步的办法
  13. 矩阵相抵的一道例题(对称+主子式)
  14. 令人惋惜:Sigfox撑不下去了!这回,可不能怪NB-IoT、LoRa......
  15. 弘辽科技:抖音评价分析看板数据如何解读?
  16. 弹幕穿人过,视频换背景,快准狠的图像分割技术了解一下
  17. 82.【LibraryManger】
  18. 弹幕 mysql_3、Flask构建弹幕微电影网站-安装mysql数据库及配置
  19. 【FreeRTOS】软件定时器的使用
  20. 紧跟时代步伐,朗强HDMI分布式矩阵可以通过手机来控制

热门文章

  1. 毕啸南专栏 | 专访云迹科技CEO支涛:人类可能会变成半机器人
  2. 李彦宏:属于百度的日子终于来了,曾与Facebook谈建合资公司
  3. AI研发新药真有那么神?可能哈佛、斯坦福和阿斯利康实验室都在吹牛
  4. properties配置文件在idea中默认utf-8编码可能会乱码的解决
  5. Solr系列二:solr-部署详解(solr两种部署模式介绍、独立服务器模式详解、SolrCloud分布式集群模式详解)...
  6. 如何提取sql语句中绑定变量的值?
  7. IImage--factory
  8. Linux LAMP搭建
  9. Visual C++开发工具与调试技巧整理
  10. hadoop搭建之hadoop安装