- 浏览: 506266 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (422)
- 重要 (12)
- BUG解决备忘录 (32)
- 环境搭建 (17)
- 开源组件 (4)
- 数据库 (16)
- 设计模式 (4)
- 测试 (3)
- javascript (5)
- Android (14)
- jdk相关 (9)
- struts2 (10)
- freemark (3)
- 自定义扩展及工具类 (5)
- jdk5新特性及java基础 (13)
- ssh及其他框架 (15)
- linux (32)
- tcp-ip http协议 (8)
- 服务器集群与负载均衡 (34)
- 项目管理相关 (11)
- 实用小技术 (10)
- 架构相关 (14)
- firefox组件 (11)
- spider (6)
- 产品设计 (11)
- PHP (1)
- ws (4)
- lucene (10)
- 其他 (2)
- BI (1)
- NoSQL (3)
- gzip (1)
- ext (4)
- db (6)
- socket (1)
- 源码阅读 (2)
- NIO (2)
- 图片处理 (1)
- java 环境 (2)
- 项目管理 (4)
- 从程序员到项目经理(一):没有捷径 (1)
- bug (1)
- JAVA BASE (8)
- 技术原理 (0)
- 新框架新技术 (1)
- 量化与python (1)
- 系统编程 (0)
- C语言 (0)
- 汇编 (0)
- 算法 (0)
最新评论
-
hyspace:
别逗了,最后一个算法根本不是最优的,sort(function ...
数组去重——一道前端校招试题 -
washingtin:
楼主能把策略和路由的类代码贴出来吗
Spring + iBatis 的多库横向切分简易解决思路 -
sdyjmc:
初略看了一下,没有闹明白啊,均衡负载使用Nginx,sessi ...
J2EE集群原理 I -
shandeai520:
谢谢大神!请教大神一个问题:假如我有三台服务器,连接池的上限是 ...
集群和数据库负载均衡的研究 -
hekuilove:
给lz推荐一下apache commonsStringUtil ...
request 获取 ip
今天看到"基于apache的tomcat负载均衡和集群配置 "这篇文章成为javaEye热点。
略看了一下,感觉太复杂,要配置的东西太多,因此在这里写出一种更简洁的方法。
要集群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
- < Context docBase = "E:/java_codes/TestSession/WebContent" path = "" reloadable = "true" >
- < Manager className = "de.javakaffee.web.msm.MemcachedBackupSessionManager"
- memcachedNodes = "n1:localhost:11211"
- requestUriIgnorePattern = ".*\.(png|gif|jpg|css|js)$"
- sessionBackupAsync = "false"
- sessionBackupTimeout = "100"
- transcoderFactoryClass = "de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
- copyCollectionsForSerialization = "false"
- />
- </ Context >
<Context docBase="E:/java_codes/TestSession/WebContent" path="" reloadable="true" > <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" memcachedNodes="n1:localhost:11211" requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$" sessionBackupAsync="false" sessionBackupTimeout="100" transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory" copyCollectionsForSerialization="false" /> </Context>
这里的memcachedNodes是填写memcached节点,多个节点时可以以空隔分开,如:
n1:localhost:11211
n2:localhost:11212
E:/java_codes/TestSession/WebContent 替换成你的WEB目录
修改后重启两个TOMCAT即可,这个时候已经解决SESSION的共享问题.
二,配置nginx实现负载均衡
以我的nginx.conf为例
- #user nobody;
- worker_processes 1;
- error_log logs/error.log;
- events {
- worker_connections 1024;
- }
- http {
- include mime.types;
- default_type application/octet-stream;
- sendfile on;
- keepalive_timeout 65;
- #gzip on;
- upstream www.docyeah.com {
- server 192.168.1.11:8080;
- server 192.168.1.101:8080;
- }
- server {
- listen 80;
- server_name www.docyeah.com;
- charset utf-8;
- location / {
- root html;
- index index.html index.htm;
- proxy_pass http://www.docyeah.com;
- proxy_set_header X-Real-IP $remote_addr;
- client_max_body_size 100m;
- }
- location ~ ^/(WEB-INF)/ {
- deny all;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- }
- }
#user nobody; worker_processes 1; error_log logs/error.log; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #gzip on; upstream www.docyeah.com { server 192.168.1.11:8080; server 192.168.1.101:8080; } server { listen 80; server_name www.docyeah.com; charset utf-8; location / { root html; index index.html index.htm; proxy_pass http://www.docyeah.com; proxy_set_header X-Real-IP $remote_addr; client_max_body_size 100m; } location ~ ^/(WEB-INF)/ { deny all; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
将www.docyeah.com替换成你的域名
192.168.1.11和192.168.1.101替换成你服务器的IP
OK,已经完成。启动nginx即可。
这是我采用的负载均衡及集群方案,希望大家拍砖.
ps:javaeye的编辑器有问题,代码里加颜色后居然变乱了
发表评论
-
Spring + iBatis 的多库横向切分简易解决思路2
2011-12-26 16:43 2022Table of Contents I. 向Co ... -
Spring + iBatis 的多库横向切分简易解决思路
2011-12-26 16:36 11341.引言 笔者最近在做一个互联网的“类SNS” ... -
tomcat端口被长时间连接,CPU使用率高的原因分析
2011-11-20 23:50 1034tomcat使用的是电脑的80端口。 当客户端访问的 ... -
Nginx+keepalived做双机热备加tomcat负载均衡
2011-10-25 16:55 1620环境说明: nginx1: 192.168.2.4 ... -
MySQL 6.0 集群(cluster)+复制(replicate)
2011-05-05 02:08 1458http://www.net5 . 简介 本 ... -
centos下MySQL主从同步配置
2011-05-05 00:38 1016一、环境 主机: ... -
HadHoop分布式框架配置(二)
2011-03-16 21:42 1124我们假定,你已经下 ... -
HadHoop分布式框架简介(一)
2011-03-16 21:42 1442分布式系统基本原理 分布式系统被设计成可以存 ... -
利用nginx+apache+mysql+php+memcached+squid搭建门户网站
2011-03-06 04:27 1445转自:http://hi.csdn.net/rushcc200 ... -
CentOS 5.3上安装Apache+php+Mysql+phpMyAdmin
2011-03-03 22:00 10791、系统下载 CentOS 开发社区已发布了新的 5.3 版 ... -
1分钟完美安装最新 CentOS + Nginx + PHP-FPM + MySQL
2011-03-03 21:58 1294PHP 5.3.1 MySQL 5.0.89 Ngin ... -
集群和数据库负载均衡的研究
2011-03-01 03:34 1708http://dadupi.blogbus.com/logs/ ... -
Memcached集群/分布式的单点故障
2011-03-01 03:24 1885我看到过这样一段文字 “memcached如何处理容错的? ... -
Memcached 集群架构问题归纳
2011-03-01 02:54 997集群架构方面的问题 o memcached是怎么工作的 ... -
大型bbs架构(squid+nginx)实例分享
2011-03-01 01:50 1495这个架构 基于squid、nginx 和lvs等技术 , ... -
nginx图片服务器的架构方案
2011-03-01 01:44 1708图片服务 通常数据 容量较大,而且访问也频繁,鉴于此,图片 ... -
解密大中型网站架构设计来自威鹏网信息化解决方案专家。
2011-03-01 01:38 984相信很多IT ... -
基于mod_proxy+Apache 2.2.16+Tomcat 7的负载均衡与集群配置
2011-03-01 00:59 1483基于mod_proxy+Apache 2.2.16+Tomca ... -
揭秘全球最大网站Facebook背后的那些软件
2011-03-01 00:53 10662010年6月,Google公布全球Top 1000网站 ... -
Lighttpd 的安装配置
2011-03-01 00:20 1173lighttpd(http://lighttpd.net/ ...
相关推荐
java基于nginx的tomcat负载均衡和集群
NULL 博文链接:https://jin8000608172.iteye.com/blog/2170407
Windows+Nginx+Tomcat搭建负载均衡和集群的tomcat压缩包
Nginx+tomcat负载均衡集群session复制 windos
nginx tomcat负载均衡缓存服务器集群
部署Nginx+Tomcat负载均衡集群部署思路: 1、Tomcat服务器设置 关闭防火墙 //两台保持一致 安装JDK //两台保持一致 安装Tomcat //两台保持一致 创建站点/www/test目录,修改server.xml文件 //两台保持一致 创建...
Nginx+tomcat配置集群负载均衡实现动静分离实例
nginx+tomcat 负载、集群简单搭建,适合新手。
首先大家注意: 本文章中没有session共享,关于session共享我会在下一篇中讲解,先实现Nginx+tomcat负载均衡再实现session共享。 从网上查了好多资料,多走了很多弯路,现在把自己成功的方法拿出来与大家分享。 ...
Nginx+Tomcat负载均衡&动静分离实战 从0开始构建Nginx WEB平台; 1)实战Tomcat WEB集群&代码发布; 2)Nginx负载均衡Tomcat集群&动静分离&Rewrite实战;
手把手教你搭建Nginx+Tomcat 集群的搭建,多个节点,实现负载均衡最全教程,图文教程
很好的学习Windows+Nginx+Tomcat搭建负载均衡和集群环境教材,里面有详细的Demo。
nginx+tomcat+memcached集群和负载均衡所有资源包,具体集群方法请参见博文:http://blog.csdn.net/l1028386804/article/details/48289765
Windows+Nginx+Tomcat搭建负载均衡和集群的nginx压缩包
NULL 博文链接:https://mljavalife.iteye.com/blog/1779444
nginx+redis负载均衡、session共享,基于redis+tomcat实现session同步的简单demo
集群搭建,负载均衡,通过开元工具nginx 实现负载的均衡,
Nginx+Tomcat高性能负载均衡集群搭建(模板)
Windows+Nginx+Tomcat做负载均衡同时实现session共享Demo
使用redis解决nginx+tomcat8负载均衡集群session共享问题jar包