玩玩负载均衡---在window与linux下配置nginx
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-27
最近有些时间,开始接触负载均衡方面的东西,从硬件F5再到Citrix Netscalar.不过硬件的配置虽然不复杂,但昂贵的价格也让一般用户望而却步(十几万到几十万),只能转向nginx,squid这类有反向代理功能的软件了.好在其设置都不是很麻烦.
本文就之前所做过的安装和配置步骤做一下总结分享出来,以免日后忘记了. 是windows系统,这里建议使用window 2003企业版,而不要作用win7(太新了,我遇到无法启动nginx的问题).要说的是,在windows下配置安装nginx还是很容易的,少了linux下下载tar再配置编译参数等等步骤,我们只要从下面的地址下载相应的zip包(大约750kb)即可,地址如下: http://sysoev.ru/nginx/nginx-0.8.21.zip 需要说明的是这个下载包是nginx 0.8.21开发版,换句话说其只能用于搭建测试环境等用途的,不能用于实际的生产环境(受限于windows文件句柄数限制). 下载并将该包中的文件解压到c盘上,为了配置使用方便,我将其解压后的文件夹名称从“nginx-0.8.19”改为"nginx”,这样我们只要将要负载均衡的站点在iis中设置好之后,将相应的链接地址放到nginx的相应配置文件中即可,这里我们打开C:nginxconfnginx.conf文件,将下面的内容放到该文件的“server { ”上方行处: server 10.0.2.137:8088; server 10.0.2.137:8089; } nginx无法运行动态脚本,这里要使用proxy_pass属性进行代理,找到该配置文件的如下内容: root html; index index.html index.htm; } 修改其内容如下: proxy_pass http://mylocalsite; } 修改完之后,还要修改一下server的侦听端口,原内容如下: listen 80; server_name localhost; …… 修改完后的内容如下: listen 8086; server_name 10.0.2.136; …… 这样,nginx就会在启动之后开始侦听本地IP(10.0.2.136)的8086端口请求,然后将其请求转向到mylocalsite 中所指定的两个iis站点,并将执行的结果转发给客户端.如果一切配置正确,这时可以运行 c:/nginx/nginx.exe (或在cmd下运行“start nginx”),就可以在任务管理器中看到一个nginx进程启动了.(注:如果配置文件有错误,可以到C:nginxlogserror.log查看错误日志,进一步排错). 注: 关闭ngnix的命令: nginx -s stop 配置文件ngnix.conf正确性判断的命令: nginx -t 当然Nginx 负载均衡的功能也是很强的,并且其一般作为七层负载均衡(应用协议层).下面就其upstream所支持的四个常用设置进行说明: 2)、weight :指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况. 2)、ip_hash :每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题. 3)、fair(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配. 4)、url_hash(第三方) 按上面的说明,可以将之前我们的upstream做如下修改: server 10.0.2.137:8088 weight=2; server 10.0.2.137:8089 weight=1; } 这个当来了三个http请求时,其中的两个会被分配到10.0.2.137:8088 上,一个分配到10.0.2.137:8089 .当然一开始可以其分摊的请求可以不是太严格按其设置,但当请求数多了之后,基本上就接近于我们分指派的权值了.当然就负载均衡的算法而言,使用weight只是其中的一种,而经常使用的还 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Nagios监控部署(五)下一篇: LINUX终端乱码解决方法
关于玩玩负载均衡---在window与linux下配置nginx的所有评论