nginx+tomcat+memcached-session-manager组成简单的负载均衡和集群
1、搭建环境
192.168.29.128(luxh-01.com) 安装nginx,参考 http://www.cnblogs.com/luxh/p/4067038.html
192.168.29.129(luxh-02.com) 安装tomcat和memcached
192.168.29.130(luxh-03.com) 安装tomcat和memcached
2、安装memcached
1)使用yum直接安装
[root@Luxh- ~]# yum install memcached
2)启动memcached,默认的启动端口是11211
[root@Luxh- ~]# memcached -u memcached -d
-u 指定用户
3)测试是否启动成功
[root@Luxh- ~]# telnet 127.0.0.1
3、安装Tomcat7
参考:http://www.cnblogs.com/luxh/p/3188736.html
4、添加memcached-session-manager相关的jar到tomcat中
将以下jar放到tomcat安装路径的lib目录中
memcached-session-manager-1.8.2.jar
memcached-session-manager-tc7-1.8.2.jar
spymemcached-2.11.1.jar
注意tomcat版本不同,用的jar版本也不同,具体可参考 http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration
5、将serializers相关的jar添加到web应用中
这里使用 kryo-serializer实现序列化。
项目使用了maven,直接添加依赖即可
<dependency>
<groupId>de.javakaffee.msm</groupId>
<artifactId>msm-kryo-serializer</artifactId>
<version>1.8.0</version>
<scope>runtime</scope>
</dependency>
如果没有使用maven,自行添加以下的jar到项目中
msm-kryo-serializer-1.8.0.jar
kryo-serializers-0.11.jar
kryo-1.04.jar
asm-3.2.jar
reflectasm-1.01.jar
minlog-1.2.jar
jsr305-1.3.9.jar
annotations-1.3.9.jar
6、在tomcat中配置memcached-session-manager
在tomcat的context.xml文件中加入以下内容(<Context></Context>标签中)。
非粘性session配置,两台memcached服务器。
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:luxh-02.com:11211,n2:luxh-03.com:11211"
sticky="false"
sessionBackupAsync="false"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
7、配置nginx
1)nginx.conf文件中的http节点内容加入
upstream luxh-01.com {
server luxh-02.com:8080;
server luxh-03.com:8080;
}
2)nginx.conf文件中的server节点内容加入
location / {
proxy_pass http://luxh-01.com;
proxy_set_header X-Real-IP $remote_addr;
}
8、把应用分别部署到tomcat服务器中。
1)启动memcached服务
2)启动tomcat
3)启动nginx
9、直接访问http://luxh-01.com/webapp (我部署的项目是通过webapp访问)
nginx+tomcat+memcached-session-manager组成简单的负载均衡和集群的更多相关文章
- 基于nginx的tomcat负载均衡和集群
要集群tomcat主要是解决SESSION共享的问题,因此我利用memcached来保存session,多台TOMCAT服务器即可共享SESSION了. 你可以自己写tomcat的扩展来保存SESSI ...
- apache的tomcat负载均衡和集群配置 "
略看了一下,感觉太复杂,要配置的东西太多,因此在这里写出一种更简洁的方法. 要集群tomcat主要是解决SESSION共享的问题,因此我利用memcached来保存session,多台TOMCAT服务 ...
- 基于Apache的Tomcat负载均衡和集群(2)
反向代理负载均衡 (Apache+JK+Tomcat) 使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的.这种代理方式 ...
- 使用apache和nginx代理实现tomcat负载均衡及集群配置详解
实验环境: 1.nginx的代理功能 nginx proxy: eth0: 192.168.8.48 vmnet2 eth1: 192.168.10.10 tomcat server1: vmnet2 ...
- Tomcat负载均衡和集群环境的搭建
实现此集群的方法参考了网上的很多文章,但由于很多文章都表明是原创的,故无法知道整个操作流程的真正作者是谁.下面就是我用我们真实的项目去实现这个过程.同时修复这过程中一些问题.以下的所有步骤均为亲自测试 ...
- 基于apache的tomcat负载均衡和集群配置
最近不是很忙,用零碎时间做点小小的实验. 以前公司采用F5负载均衡交换机,F5将请求转发给多台服务器,每台服务器有多个webserver实例,每个webserver分布在多台服务器,交叉式的分布集群. ...
- apache + tomcat 负载均衡分布式集群配置
Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...
- 基于mod_proxy+Apache 2.2.16+Tomcat 7的负载均衡与集群配置
第一章. 背景简介 对于大多数企业应用,都希望能做到7*24小时不间断运行.要保持如此高的可用性并非易事,比较常见的做法是将系统部署到多台机器上,每台机器都对外提供同样的功能,这就是集群.系统变为集群 ...
- Apache +Tomcat的负载均衡与集群配置
实验拓扑图: 一.搭配环境 (1).Tomcat的安装和配置 Tomcat_a的ip:192.168.55.229 Tomcat_b的ip:192.168.55.231 Tomcat的需要安装jdk和 ...
随机推荐
- Java类文件最大限制
今天在往一个jsp文件里添加代码时,项目跑起来访问这个jsp时报错.. The code of method _jspService(HttpServletRequest, HttpServletRe ...
- android快速入门
1.安装环境(jre java 运行环境,jdk java 开发工具包) 2.android studio 一.快捷键的使用 1. To open any class in the editor q ...
- BEGIN_TEMPLATE_MESSAGE_MAP
最近转做服务端开发,或多或少有点坑爹的感觉.目前正在恶补Linux C/C++编程,主要还是集中在Linux系统API的学习.不过也好,以后更新的内容不仅仅只有Windows了. 今天说一点简单的东西 ...
- .NET笔试题集(一)
1.简述 private. protected. public. internal.protected internal 访问修饰符和访问权限 private : 私有成员, 在类的内部才可以访问. ...
- ios网络学习------6 json格式数据的请求处理
ios网络学习------6 json格式数据的请求处理 分类: IOS2014-06-30 20:33 471人阅读 评论(3) 收藏 举报 #import "MainViewContro ...
- 关于js中的setTimeout和setInterval
http://ejohn.org/blog/how-javascript-timers-work 这是John的一篇博文说到setTimeout和setInterval的区别,在看js高效图形编程的时 ...
- BZOJ 1798 (线段树||分块)的标记合并
我原来准备做方差的.. 结果发现不会维护两个标记.. 就是操作变成一个 a*x+b ,每次维护a , b 即可 加的时候a=1 ,b=v 乘的时候a=v ,b=0 #include <cstdi ...
- 看啦这么就别人的博客 我也来写一篇! Object转换其他类型
package com.sinitek.framework.util; import java.math.BigDecimal;import java.sql.Timestamp;import jav ...
- Oracle Listener日志位置及压缩转移
近日由于Oracle Listener异常断开导致应用无法上传数据,需要从listener日志开始分析问题原因.此文介绍如何获取日志位置.由于日志文件大小问题,同时将日志文件进行压缩存放. alert ...
- ubuntu 调整桌面图标大小
打开文件浏览器,例如从“位置” 里打开 “主文件夹”,点 “编辑” –>“首选项”,把 “图标视图默认值” 下的“默认缩放级别” 改为 75%.现在图标大小跟WinXP 下的差不多. 或者 在 ...