• nginx之http反向代理多台服务器


    Nginx http 反向代理高级应用

    是Nginx可以基于ngx_http_upstream_module模块提供服务器分组转发、权重分配、状态监测、调度算法等高级功能。
    
    http upstream配置参数:
    
    upstream name
    #自定义一组服务器,配置在http内;指定upstream服务器组的名称,名称中不能包含"_",否则会报错;upstream可以和server配置在一个文件中,也可以单独一个文件,但是upstream不能配置在server里面。
    
    server address parameters;
    address可以配置为IP、域名、unix套接字;
    parameters参数可以配置下面几种:
                                  weight=number #设置权重,默认为1。
                                  max_conns=number  #给当前server设置最大活动链接数,默认为0表示没有限制。
                                  max_fails=number  #对后端服务器连续监测失败多少次就标记为不可用。
                                  fail_timeout=time #对后端服务器的单次监测超时时间,默认为10秒。
                                  backup  #设置为备份服务器,当所有服务器不可用时将重新启用次服务器。
                                  down    #标记为down状态。
                                  resolve #当server定义的是主机名的时候,当A记录发生变化会自动应用新IP而不用重启Nginx。
    
    hash KEY consistent;
    #基于指定key做hash计算,使用consistent参数,将使用ketama一致性hash算法,适用于后端是Cache服务器(如varnish)时使用,consistent定义使用一致性hash运算,一致性hash基于取模运算。KEY可以设置为$request_uri,基于用户的请求的uri做hash运算。
    
    ip_hash;
    #源地址hash调度方法,基于的客户端的remote_addr(源地址)做hash计算,以实现会话保持。
    
    least_conn;
    #最少连接调度算法,优先将客户端请求调度到当前连接最少的后端服务器。
    
    注:调度算法需要设置在upstream中;默认调度算法是轮询。
    

    实现nginx http反向代理后端多台服务器:

    upstream xxx-app1 {
       server 192.168.38.37:80 weight=1 fail_timeout=5s max_fails=3;
       server 192.168.38.47:80 weight=1 fail_timeout=5s max_fails=3;
    }
    server {
       listen 80;
       server_name www.xxxpc.net;
       location /web {
          index index.html;     #需要指定默认页面
          proxy_pass http://xxx-app1;    #指定upstream分组的名称
       }
    }
  • 相关阅读:
    Base64编码与图片互转
    YUI Compressor–另一款压缩JS/CSS的小工具
    布局和展现相关的建议──给用户体验设计者
    实现左右边框的最低碳代码~~
    三角的一个特殊做法(一个奇技淫巧~)
    数组指针和指针数组
    vs2008建win32基本项目
    vs2008快捷键
    (转)HTML特殊字符
    (转)html5 Placeholder属性兼容IE6、7方法
  • 原文地址:https://www.cnblogs.com/dongzhanyi123/p/12081496.html
Copyright © 2020-2023  润新知