分类: LINUX
2010-08-27 10:51:55
另
外,我维护的电子商务网站并发大约在1000左右,此时,Nginx+Apache集群运行得非常稳定,尤其是apache,并没有想象中那般弱;其实,
在内存足够(>=8G)的情况,测试时不连数据库的话,单台apache+php5能顶得住6000并发,而且相当稳定。在网站升级架构方面,我不
赞成全面淘汰生级,锦上添花式的升级会更好。 第一部分:Nginx+Keepalived的说明及环境说明 喜
欢看我博客或文章的朋友都知道,我一直主力推崇Nginx+Keepalived作web的负载均衡高可用架构,并积极将其用于项目方案中;Nginx负
载均衡作服务器遇到的故障一般有①服务器网线松动等网络故障;②服务器硬件故障从而crash;③nginx服务死掉;遇到前二者情
况,keeaplived是能起到HA的作用的;然而遇到③种情况就没有办法了,但可以通过shell监控解决这问题,从而实现真正意义上的负载均衡高可
用。此篇的最新更新时间为2010年6月25号,下面将其安装步骤详细说明下: 环境: 先安装Nginx负载均衡器,nginx负载的配置就用一般的模板来配置了 配置nginx负载均衡器的配置文件vim /usr/local/nginx/conf/nginx.conf,此篇文章仅仅只是我的某项目的配置文档,纯80转发;如果对nginx配置有https要求的可参考张宴的相关文章。 第三部分:安装Keepalived,让其分别作web及Nginx的HA 安装keepalived,并将其做成服务模式,方便以后调试。 我们来看一下日志: 很显然vrrp已经启动,我们还可以通过命令来检查 说明vip已经启动,这样主服务器就配置好了,辅机的配置大致一样,除了配置文件有少部分的变化,下面贴出辅机的配置文件: 第四部分:针对Keepalived的不足,用Nginx_pid.sh来监控nginx进程,实现真正意义上的负载均衡高可用。 针
对Nginx+Keepalived,编写nginx监控脚本nginx_pid.sh,此脚本思路其实也很简单,即放置在后台一直监控nginx进程;
如进程消失,尝试重启nginx,如是失败则立即停掉本机的keepalived服务,让另一台负载均衡器接手,此脚本直接从生产环境下载: 然
后置于后台运行 sh /root/nginx_pid.sh
&,这种写法是错误的,这样你用root用户logout后,此进程会消失;正确写法为nohup/bin/bash
/root/nginx_pid.sh
&,附带下注释:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出root帐
户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up),哈哈,差点老马失蹄了。 后记: 此线上环境网络非常复杂,这也是LVS+Keepalived失败的原因。目前此套架构在1000并发的电子商务网站非常稳定,带来的直接影响就是
nginx_backup一直处于闲置状态。相对于张宴的双机轮询而言,我感觉他的可能更加完美,因为目前我的Nginx仅仅只做了负载均衡器,如果以后
有机会我会尝试做负载均衡器/反向代理加速。
第二部分:分别安装Nginx负载均衡器及相关配置脚本
测试其效果方法很简单,分别在主辅机上建立不同的主页,index.html的内容分别为192.168.0.154,192.168.0.155,然后用客户机上elinks ,主机down掉后辅机会马上接替提供服务,间隔时间几乎无法感觉出来,如有疑问请联系(抚琴煮酒)
chinaunix网友2010-08-29 08:27:08
Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com
chinaunix网友2010-08-29 08:27:08
Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com