配置集群Nginx+Memcached+Tomcat集群配置
上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下配置集群
1. Nginx
Nginx是通过将多个Web Server绑定到同一个IP地址下,以实现多个WebServer间的负载均衡,下降单个Web Server的负荷,以进步团体的性能与稳定性。
安装和配置Nginx的简略方法如下:
1) 下载并解压Nginx到本地目录:http://nginx.org/en/download.html
2) 对Nginx的配置主要是对它的配置文件/conf/nginx.conf的修改。如下链接是nginx.conf配置文件各个属性的具体说明:
http://www.cnblogs.com/xiaogangqq123/archive/2011/03/02/1969006.html
要利用nginx配置Web Server的负载均衡,须要修改的地方有:
a) 在http标签下,配置upstream属性,如:
upstream mysvr {
#weigth参数表示权值,权值越高被分配到的概率越大
server 192.168.8.1x:3128 weight=5;
server 192.168.8.2x:80 weight=1;
server 192.168.8.3x:80 weight=6;
}
其中,weight是可选项;若不配置weight,则默许所有的Web Server拥有雷同的权重。
b) 在http标签下的server标签中,做恰当的修改,如:
server {
listen 83;
server_name localhost;
location / {
root /root;
index index.jsp;
proxy_pass http:// mysvr;
proxy_set_header Host $host:83;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
……
}
其中须要说明的是,server_name和listen分别设置的是用户拜访的地址和端口;proxy_pass指定转向的服务器列表(在upstream中定义);proxy_set_header Host设置跳转的http报文中的地址为proxy_pass中指定的地址,同时可以在此处指定端口号,若不指定,则默许会跳到80端口。
其它一些须要设置的属性请拜见上述链接中的具体分析。
3) 配置完成后,在控制台中进入Nginx的根目录,运行nginx或nginx –s start则可启动Nginx服务器,运行nginx –s stop或nginx –s quit可关闭Nginx(不可使用Ctrl+C强制结束)。
2. Memcached
试试看——不是像企鹅那样静静的站在海边,翘首企盼机会的来临,而是如苍鹰一般不停的翻飞盘旋,执著的寻求。 试试看——不是面对峰回路转、杂草丛生的前途枉自嗟叹,而是披荆斩棘,举步探索。 试试看——不是拘泥于命运的禁锢,听凭命运的摆布,而是奋力敲击其神秘的门扉,使之洞开一个新的天地。微笑着,去唱生活的歌谣。
Memcached是一个key-value映射的缓存系统。在WebApplication中可以利用Memcached完成一些频繁拜访对象的缓存。而在分布式的Web Server集群中,由于须要保证各个单独的Web Server中的Session相一致,因此须要利用Memcached来支持。
这里须要使用一个开源项目,即Memcached Session Manager(MSM),如下链接是该开源项目的官网:
http://code.google.com/p/memcached-session-manager/
如下链接是官方的安装和配置向导:
http://code.google.com/p/memcached-session-manager/wiki/SetupAndConfiguration
利用MSM对已经通过Nginx实现集群的Tomcat服务器组进行统一Session存储管理的简略方法如下:
1) 下载、安装、运行Memcached:
Linux版:http://memcached.org/
Windows版:http://code.jellycan.com/memcached/
2) 下载所需的jar包并放置到Tomcat的lib路径下:
a) memcached-session-manager-${version}.jar,基础包
b) memcached-session-manager-tc6-${version}.jar(针对Tomcat 6)或者memcached-session-manager-tc7-${version}.jar(针对Tomcat 7),服务器支持包
c) spymemcached-2.8.12.jar和couchbase-client-1.1.4.jar,缓存支持包
d) msm-javolution-serializer.jar和javolution-5.4.3.1.jar,序列化支持包
3) 在Tomcat的/conf/context.xml文件中,在根标签<context>下添加如下代码:
<ManagerclassName="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="${tag}:localhost:11211"
requestUriIgnorePattern=".*/.(png|gif|jpg|css|js)$"
sessionBackupAsync="false"
sessionBackupTimeout="100"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory"
copyCollectionsForSerialization="false"/>
其中${tag}可以替换成任意字符串,作为该WebServer的标记
4) 完成上述配置后,启动Tomcat,若无错误则表示配置胜利。通过HttpSession的getId方法获取到session id时,可以看到在id的最后有上述的标记
文章结束给大家分享下程序员的一些笑话语录: AdobeFlash拖垮Windows拖垮IE!又拖垮Linux拖垮Ubuntu拖垮FirxEox!还拖垮BSD拖垮MacOS拖垮Safri!简直无所不拖!AdobeFlash滚出网路世界!不要以为市占有率高就可以持续出烂货产品!以后替代品多得是!
---------------------------------
原创文章 By
配置和集群
---------------------------------
配置集群Nginx+Memcached+Tomcat集群配置的更多相关文章
- Nginx+Memcached+Tomcat集群配置(MSM--win7 64bit)
本次主要是在win7 64 上演示操作. web应用构建 Memcached安装配置启动 Tomcat配置 所需jar包 memcached-session-manager 序列化 contextxm ...
- Nginx+Memcached+Tomcat集群配置实践(Sticky Session)
准备工作 创建一个简单的web应用,名为session.其中有两个页面,分别如下所示: 页面login.jsp <%@ page language="java" conten ...
- Nginx+Memcached+Tomcat集群配置
1. Nginx Nginx是通过将多个Web Server绑定到同一个IP地址下,以实现多个WebServer间的负载均衡,降低单个Web Server的负荷,以提高整体的性能与稳定性. 安装和 ...
- Nginx与Tomcat安装、配置与优化
Nginx与Tomcat安装.配置与优化 Nginx与Tomcat安装.配置与优化 Nginx的安装与使用 Nginx是一款优秀的反向代理服务器 安装: rpm(或者是pkg安装),是预编译好的程序包 ...
- 使用nginx搭建tomcat集群配置
软件准备: (1)jdk-8u73-linux-x64.tar.gz (2)apache-tomcat-7.0.57.tar.gz (3)nginx-1.7.7.tar.gz 准备3台Linux机器, ...
- nginx整合tomcat集群并做session共享----测试案例
最近出于好奇心,研究了一下tomcat集群配置,并整合nginx,实现负载均衡,session共享,写篇记录,防止遗忘.---------菜鸡的自我修炼. 说明:博主采用一个web项目同时部署到两台t ...
- Docker Compose 一键部署Nginx代理Tomcat集群
Docker Compose 一键部署Nginx代理Tomcat集群 目录结构 [root@localhost ~]# tree compose_nginx_tomcat/ compose_nginx ...
- Nginx+Keepalived主从配置(双机主从热备)+Tomcat集群
拓扑环境 以下表格是这次測试须要的拓扑环境,几台server.每台server上安装什么,都有介绍. server名称 系统版本号 预装软件 IP地址/VIP Nginx主server CentOS ...
- nginx 与 tomcat 集群 一二事 (0) - 简单介绍
最近看了nginx以及tomcat的集群,通俗的做一下简单总结吧 nginx 是一个http服务器,是由俄罗斯人发明的,目前主流的服务器,作为负载均衡服务器,性能非常好,最高支持5万个并发连接数,在淘 ...
随机推荐
- win7和centos双系统安装
几年之前为了安装xp和linux的双系统曾折腾了好多天,今天为了安装这个win7和centos双系统,也折腾了两天多,哦,我的天,安装个双系统,怎么这么麻烦呢? 没有来得及整理,先铺上草稿,供同志们参 ...
- Delphi richedit获取选中文字
function TForm1.GetSendText(RichEdit: TExRichEdit): string;var MsgListInfo: TStrings; i, m, n: i ...
- HDU 5730 Shell Necklace cdq分治+FFT
题意:一段长为 i 的项链有 a[i] 种装饰方式,问长度为n的相连共有多少种装饰方式 分析:采用dp做法,dp[i]=∑dp[j]*a[i-j]+a[i],(1<=j<=i-1) 然后对 ...
- cocos2d-x 详解之 CCAction(动作)
关于动作部分,总的来说使用起来比较简单,创建一个动作,然后让可渲染节点如精灵去执行这个动作即可.cocos2dx提供了很多类型的动作,使用起来也很方便.本节重点介绍动作CCAction的子类之一时间动 ...
- 关于“心脏出血”漏洞(heartbleed)的理解
前阵子“心脏出血”刚发生的时候读了下源代码,给出了自己觉得比较清楚的理解. -------------------------穿越时空的分割线--------------------------- ...
- salt 批量部署与配置
salt是啥? salt是一个大型分布式的配置管理系统(安装升级卸载软件,检测环境),也是一个远程命令执行系统. salt 分为 master和minion,master顾名思义就是老大,管理子节点: ...
- 机器学习中的数学(3)-模型组合(Model Combining)之Boosting与Gradient Boosting
版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gm ...
- 如何用chrome修改js代码,跳过网站等待时间
用chrome修改js代码 By Z.H. Fu 切问录 [maplewizard.github.io](http://maplewizard.github.io ) 网页中大部分的限制都是由js编写 ...
- iOS完结篇
从去年自己陆陆续续接触iOS开发,几个月过去了,对于苹果的体验,流程,以及规范都有了一定的认 识,还会定期关注iOS的发展. 即将要做win10系统了,为了纪念把自己的虚拟机截图留念吧.也希望微软能在 ...
- Unity3D-美术相关
1.导入动画 (1)使用预分解的动画模型,导入后面板中会含有一个可用的动画片段列表. (2)使用未分解的动画模型,自行添加动画片段. (3)使用多个动画文件,模型与动画分离.对于goober.fbx模 ...