略看了一下,感觉太复杂,要配置的东西太多,因此在这里写出一种更简洁的方法。

要集群tomcat主要是解决SESSION共享的问题,因此我利用memcached来保存session,多台TOMCAT服务器即可共享SESSION了。

你可以自己写tomcat的扩展来保存SESSION到memcached。

这里推荐使用memcached-session-manager这个开源项目(http://code.google.com/p/memcached-session-manager/ ),下面简称msm。

如何安装nginx、memcached、tomcat这些就不多说了。

先说明一下测试环境:

tomcat1、nginx、memcached安装在192.168.1.11

tomcat2安装在192.168.1.101

下面分步实现基于nginx的tomcat负载均衡和集群配置

一,tomcat集群

1,先下载msm及其依赖包

http://memcached-session-manager.googlecode.com/files/memcached-session-manager-1.3.0.jar

http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-jodatime-1.3.0.jar

http://memcached-session-manager.googlecode.com/files/msm-javolution-serializer-cglib-1.3.0.jar

http://spymemcached.googlecode.com/files/memcached-2.4.2.jar

http://memcached-session-manager.googlecode.com/files/javolution-5.4.3.1.jar

2,将这5个包放到$TOMCAT_HOME/lib目录下

3,修改$TOMCAT_HOME/conf/server.xml

Xml代码  
  1. <Context docBase="E:/java_codes/TestSession/WebContent" path="" reloadable="true" >
  2. <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
  3. memcachedNodes="n1:localhost:11211"
  4. requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$"
  5. sessionBackupAsync="false"
  6. sessionBackupTimeout="100"
  7. transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
  8. copyCollectionsForSerialization="false"
  9. />
  10. </Context>

这里的memcachedNodes是填写memcached节点,多个节点时可以以空隔分开,如:

n1:localhost:11211 n2:localhost:11212

sessionBackupTimeout的单位为分钟

E:/java_codes/TestSession/WebContent 替换成你的WEB目录

修改后重启两个TOMCAT即可,这个时候已经解决SESSION的共享问题.

二,配置nginx实现负载均衡

以我的nginx.conf为例

Xml代码  
  1. #user  nobody;
  2. worker_processes  1;
  3. error_log  logs/error.log;
  4. events {
  5. worker_connections  1024;
  6. }
  7. http {
  8. include       mime.types;
  9. default_type  application/octet-stream;
  10. sendfile        on;
  11. keepalive_timeout  65;
  12. #gzip  on;
  13. upstream  www.docyeah.com   {
  14. server   192.168.1.11:8080;
  15. server   192.168.1.101:8080;
  16. }
  17. server {
  18. listen       80;
  19. server_name  www.docyeah.com;
  20. charset utf-8;
  21. location / {
  22. root   html;
  23. index  index.html index.htm;
  24. proxy_pass        http://www.docyeah.com;
  25. proxy_set_header  X-Real-IP  $remote_addr;
  26. client_max_body_size  100m;
  27. }
  28. location ~ ^/(WEB-INF)/ {
  29. deny all;
  30. }
  31. error_page   500 502 503 504  /50x.html;
  32. location = /50x.html {
  33. root   html;
  34. }
  35. }
  36. }

将www.docyeah.com替换成你的域名

192.168.1.11和192.168.1.101替换成你服务器的IP

OK,已经完成。启动nginx即可。

这是我采用的负载均衡及集群方案,希望大家拍砖.

ps:javaeye的编辑器有问题,代码里加颜色后居然变乱了

转载于:https://www.cnblogs.com/telwanggs/p/6473578.html

apache的tomcat负载均衡和集群配置相关推荐

  1. 基于nginx的tomcat负载均衡和集群(超简单)

    今天看到"基于apache的tomcat负载均衡和集群配置 "这篇文章成为javaEye热点. 略看了一下,感觉太复杂,要配置的东西太多,因此在这里写出一种更简洁的方法. 要集群t ...

  2. Linux下Apache与Tomcat的完全分布式集群配置(负载均衡)

    最近公司要给客户提供一套集群方案,项目组采用了Apache和Tomcat的集群配置,用于实现负载均衡的实现. 由于以前没有接触过Apache,因此有些手生,另外在网上搜寻了很多有关这方面的集群文章,但 ...

  3. linux下一个apache+tomcat负载均衡和集群

    先说一下我的环境 一个ubuntu虚拟机, 一个apache2.2示例 两tomcat1.7示例 1.安装apacheserver sudo apt-get install apache2 假设要重新 ...

  4. linux ajp集群,Tomcat6_Apache2.2_ajp负载均衡加集群实战

    Tomcat6_Apache2.2_ajp负载均衡加集群实战 [日期:2011-04-20] 来源:Linux社区 作者:Linux [字体:大 中 小] 3.tomcat负载均衡和集群配置 参考官方 ...

  5. 【转】Apache Http Server与Tomcat实现负载均衡和集群

    Apache Http Server与Tomcat实现负载均衡和集群 一.分布式实现原理 如上图所示,主要通过 Apache-Server 作为中转服务器,实现多个 tomcat 服务器之间的分布式处 ...

  6. 使用LVS(Linux Virtual Server)在Linux上搭建负载均衡的集群服务

    使用LVS(Linux Virtual Server)在Linux上搭建负载均衡的集群服务 一.基于于NAT的LVS的安装与配置. 1. 硬件需求和网络拓扑                       ...

  7. 使用LVS和Keepalived搭建高可用负载均衡服务器集群

    目录 1.什么是LVS和Keepalived 2.负载均衡服务器集群示例环境搭建及安装配置 2.1.环境网络拓扑结构 2.2.安装ipvsadm软件 2.3.安装keepalived 2.4.配置网络 ...

  8. Pacemaker,Corosync和PCS搭建高可用性负载均衡linux 集群(httpd)

    Pacemaker,Corosync和PCS搭建高可用性负载均衡linux 集群(httpd) 一.高可用性的概念: 1.一种机制来定义哪些系统可以被用作集群节点 2.哪些服务或者应用可以在节点间作失 ...

  9. web应用的负载均衡、集群、高可用(HA)解决方案

    web应用的负载均衡.集群.高可用(HA)解决方案 参考文章: (1)web应用的负载均衡.集群.高可用(HA)解决方案 (2)https://www.cnblogs.com/huojg-21442/ ...

最新文章

  1. iOS开发网络篇—使用ASI框架进行文件下载
  2. Ubuntu18.04中Anaconda启动 Navigator
  3. 简单的docker命令ubuntu系统
  4. 聊聊同步、异步、阻塞与非阻塞
  5. 用clipboard.js实现纯JS复制文本到剪切板
  6. Android 串口开发,发送串口命令,读卡,反扫码,USB通讯,实现demo。——持续更新
  7. 涂鸦智能dubbo-go亿级流量的实践与探索
  8. 用JAVA制作小游戏——飞机大战(三)
  9. javacc解析json报错
  10. 手工收集awr报告_一个Oracle小白的AWR报告分析(一)
  11. 学习echarts需要先学习java 吗_Echarts和Echarts-java类库简单使用方法
  12. 2021年中国电子学习课程市场趋势报告、技术动态创新及2027年市场预测
  13. 【《zw版·Halcon与delphi系列原创教程》 zw_halcon人脸识别
  14. 使用matlab对路径的字符串进行分割和合成
  15. php word 简历模板,php程序员简历模板
  16. html设置默认选中状态,html select 标签设置默认选中
  17. 黑马程序员—[.Net就业薪资] 黑马.Net 12期毕业33个工作日,就业率达98%,平均薪水:6972元
  18. LPC1768处理器开发板下载软件的使用方法
  19. (PTA)基础编程题目集
  20. 实训五#5.5猫与餐厅的故事

热门文章

  1. DelayedProduce分析
  2. 如何给小朋友解释单摆运动_单摆的教案
  3. (16)Zynq FPGA SD控制器介绍
  4. 今日头条电脑版官方版_雷霆拯救电脑版-雷霆拯救pc版下载v4.0.9 官方版
  5. markdown文件便捷说明
  6. 【蓝桥杯嵌入式】【STM32】2_KEYBOARD(主循环扫描+外部中断)
  7. STM32通用和复用功能IO
  8. HTTP协议 (二) 基本认证
  9. 内核中的UDP socket流程(5)——inet_create
  10. 谷粒商城高级篇爬坑笔记--错误异常信息乱码问题