设为首页 收藏本站
查看: 793|回复: 0

[经验分享] 配置集群Nginx+Memcached+Tomcat集群配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-2 07:30:04 | 显示全部楼层 |阅读模式
  上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下配置集群
  

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            
配置和集群
---------------------------------

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-108482-1-1.html 上篇帖子: 【整理】.NET环境下分布式缓存Memcached使用教程 下篇帖子: Memcached 使用手记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表