• nginx常用配置参数介绍-upstream


    nginx常用配置参数upstream,主要用于均衡后端多个实例
    nginx的upstream支持五种算法分配方式
    1.轮询(默认rr)
    每个请求按时间顺序逐一分配到后端不同的服务器,如果后端某台服务器down掉,自动剔除,待恢复自动添加上
    2.weight权重
    指定轮询权重,权重越高处理的请求就越多,weight和访问比率成正比,用于后端服务器性能不均的情况
    2.ip hash
    每个请求根据访问的ip的hash结果分配,这样每个访客固定访问同一个后端服务器,可以解决sesion的问题,一般用于登录会话
    //这样是随机分配的,分配是不均的
    4.fair(第三方)
    按后端服务器的响应时间来分配请求,响应时间短的优先分配
    5.url hash(第三方)
    例如:

     upstream testproxys{
            server  172.20.22.36:50001 weight=1 max_fails=2 fail_timeout=30s;         
            server  172.20.21.41:50001 weight=1 max_fails=2 fail_timeout=30s;
       }
    Upstream 的fail_timeout和max_fails参数是用来判断负载均衡upstream中某个server是否失效
    // max_fails=2 fail_timeout=30s
    在30s与该服务连接尝试失败了两次,则认为该服务已经失效,在接下来30s内,nginx不会将请求分发给失效的服务
    失效时间与响应时间无关,不会影响响应时间
    查看nginx当前连接数,服务接收的请求,并发数,和状态等信息
    设定查看nginx状态的地址
    Location /NginxStatus {
         stub_status  on;
    }
    查看方法
    直接在浏览器输入server_name/NginxStatus 即可查看//www.ceshi.com/NginxStatus
    例如:
       upstream testproxys{
            server 172.20.22.36:50001;
            server 172.20.21.41:50001;
       }
       server {
             listen       8887;
             server_name www.ceshi.com;  #可以通过域名进行请求
             location / {

        #后端的web服务器可以通过X-Forwarded-For获取用户真实ip
                    proxy_pass  http://testproxys;      #请求转向后端定义的均衡模块,这个配置就是upstream testproxys,直接找到location/根目录下的proxy_pass,反向代理
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP  $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             }
         Location /NginxStatus {
                      stub_status  on;
        }
      }
    //location日志说明

    $remote_addr, $proxy_add_x_forwarded_for;记录客户端ip,
    //$proxy_add_x_forwarded_for#相当于转发,获取客户端ip
    $remote_user;记录客户端用户名称

    补充一个动静分离
    nginx分离动态请求和静态请求,nginx处理静态页面,tomcat、resin处理动态页面。
    动静分离可大致分为两种:
        1.纯粹把静态文件独立成单独的域名,放在独立的服务器上
        2.动态和静态放在一起发布,通过nginx分离
    Nginx可以做到动静分离:请求静态页面(图片)都走本地,动态页面,jsp走后端

    其他需要知道的
    nginx虚拟主机:就是有多少个servername,配置了多少个服务
    nginx仅支持http协议,不支持tcp均衡,但可以打补丁,做到tcp,类似于upstream,就是在外面在包装一个tcp

    脚步匆匆
  • 相关阅读:
    Java之static理解
    linux安装vsftpd
    JS获取当前时间戳的三个方法
    git常用操作
    npm更新包
    springboot的mvn与gradle启动方式
    mac nginx compile
    [文摘]那些一心想要离开 BAT 的人,后来怎么样了?
    excel 常用法
    chrome 快捷键
  • 原文地址:https://www.cnblogs.com/yj-lm/p/11611773.html
Copyright © 2020-2023  润新知