• nginx Win下实现简单的负载均衡(1)nginx搭建部署


    快速目录:

    一、nginx Win下实现简单的负载均衡(1)nginx搭建部署

    二、nginx Win下实现简单的负载均衡(2)站点共享Session

    三、nginx Win下实现简单的负载均衡(3)Session的SqlServer模式配置

    nginx Windows下 实现简单的负载均衡,本文只是测试,理论nginx在Linux下才能发挥最大性能,Windows下可以使用lvs或者nlb来进行负载均衡处理,后续发文分享。

    1、Nginx安装

    1. 下载地址:http://nginx.org/en/download.html
    2. 解压到后在window的cmd窗口,输入如下图所示的命令,进入到nginx目录,使用“start nginx.exe ”进行nginx的安装,如下图所示:
    3. 安装成功后,在“任务管理器”中会看到“nginx.exe”进程。 在浏览器地址栏输入:127.0.0.1,会看到nginx欢迎界面。说明Nginx已经安装成功。

    4. 如果页面提示not found,则是nginx没有启动成功,具体处理方法请参考:Win7 Nginx启动失败 cmd命令失败

    2、站点搭建及配置

    1. 搭建两个iis站,新建2个站点下只有一个简单的index页面,将两个站点都部署到本机了,分别绑定了nginx_web_1 - 8097和nginx_web_2 - 8098两个端口。
    2. 修改nginx配置信息,nginx的配置信息,都在nginx.conf ,这个文件中配置
    3. 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      a.修改nginx监听端口,修改http server下的listen节点值,listen 8096;
      b.在http节点下添加upstream(服务器集群),server设置的是集群服务器的信息,我这里搭建了两个站点,配置了两条信息。
      #服务器集群名称为pangshunlong
      upstream pangshunlong {
        server 127.0.0.1: 8097;
        server 127.0.0.1: 8098;
      }
      c.在http节点下找到location节点修改
      location / {
        root html;
        index index.aspx index.html index.htm; #修改主页为index.aspx
        #其中pangshunlong 对应着upstream设置的集群名称
        proxy_pass http:/ pangshunlong;
        #设置主机头和客户端真实地址,以便服务器获取客户端真实IP
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
    4. 修改完成配置文件之后,重启nginx服务 nginx –s reload 或者强制结束进程,因为有时候重启失效,加载conf文件失效,或者start nginx 下

    5. 有时候conf会报错,提示“nginx unknown directive xxx”的错误,基本都是conf文件内的空格不对,或者打开文件修改的编码不对,尽量使用txt打开,删除所有空格后再调整格式就ok了

    3、运行结果

    访问http://localhost:8096

    如上图,请求被分发到了8097站点和8098站点,说明简单的负载均衡就搭建成功了。
    如果我们停掉iis上的8098站点,刷新页面,则请求会分发给8097 站点, 说明其中一个站点挂了,只要还有一个站点是好的,系统仍然能够继续提供服务

    4.session共享(待发文,这里只做说明)

    1. 使用数据库保存session信息
    2. 使用nginx将同一ip的请求分配到固定服务器,修改如下。ip_hash会计算ip对应hash值,然后分配到固定服务器,(这个还没试验过)
    3. 1
      2
      3
      4
      5
      upstream test.com {
        server 127.0.0.1: 8097;
        server 127.0.0.1: 8098;
        ip_hash;
      }

    搭建一台Redis服务器,对session的读取都从该Redis服务器上读取

  • 相关阅读:
    flask读书笔记-flask web开发
    flask 杂记
    ubuntu redis 安装 &基本命令
    redis 订阅&发布(转载)
    Redis键值设计(转载)
    python2 python3区别
    捕获异常
    开源的微信个人号接口
    工具
    HDU2966 In case of failure(浅谈k-d tree)
  • 原文地址:https://www.cnblogs.com/zxtceq/p/7891384.html
Copyright © 2020-2023  润新知