• windows下利用nginx 做IIS负载均衡


    如果网站流量变大,就想加服务器分担压力,当然就要用到负载均衡,在windows 2003有自带的网络负载均衡,但配置还是挺麻烦的虽然有轮训和iphash的效果,但效果不算好.

    nginx小巧,下载不到1m,容易配置,性能也很可观。简单说一下nginx的简单负载均衡。

    1、下载nginx,http://nginx.org/,注意下载windows版本,解压

    2、修改conf文件夹下面的nginx.conf文件,加入下面代码

    upstream www.zds.name{ 
     
      server 192.168.1.220:80;//要负载的机器列表
     
      server 192.168.1.221:80;
     
        }
     
      server {//默认则有,可以修改端口,和运行nginx服务器ip,可以和web同一机器
     
          listen       80;
     
          server_name  192.168.1.250;
     
          #charset koi8-r;
     
          #access_log  logs/host.access.log  main;
     
        location / {
     
      proxy_pass http://www.zds.name;
     
      proxy_redirect default;
     
         }
    

     3、运行nginx,最好在cmd下运行,先cd到nginx目录,然后支持nginx.exe,这样可以方便查看到启动的错误,当然也可以在log下查看,常常错误都是 [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was ma什么的,因为端口占用了(IIS),可以修改端口。

    4、在上面要负载的机器上配置站点,主机头www.zds.name,到此就完成了。下面说一下负载的几种方式

    nginx 的 upstream目前支持几种方式的分配 
    1)、轮询(默认) 
           每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
    2)、weight 
           指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
    2)、ip_hash 
           每个请求按访问ip的hash结果分配,这样每个访客固定(同一ip)访问一个后端服务器,可以解决session的问题。可参考  asp.net多域名多服务器共享session,实现单点登陆
    3)、fair(第三方) 
           按后端服务器的响应时间来分配请求,响应时间短的优先分配。 

    上面只是最简单的用法,可以将做负载的nginx放在linux上运行,性能会高一些,以后有时间继续研究。。。


  • 相关阅读:
    Linux进程理解与实践(四)wait函数处理僵尸进程
    Linux进程理解与实践(三)进程终止函数和exec函数族的使用
    system V信号量和Posix信号量
    Linux进程间通信方式--信号,管道,消息队列,信号量,共享内存
    linux 高并发socket通信模型
    信号集函数
    进程间通信使用信号
    使用消息队列
    改变域名,php
    php函数
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234171.html
Copyright © 2020-2023  润新知