• 高枕
    2018-12-28
    老师您好昨天这个问题我没有表述清楚:
    之前的upstream并未使用zone模块,为什么也能正常运行呢?比如权重为2的话,会记录下已经访问了1次或者2次?
    我想问您的是,您是不是在您的nginx中只开启了一个work进程?不然的话,您若不使用zone模块,访问次数无法记录在共享内存,多个work无法判断上次访的客户端访问是分配到了哪个上游服务

    作者回复: 1、没使用zone,则会在内存中会记录访问了1次或者2次,所以功能是正常的。
    2、如果开启了多个worker进程,但没有开启zone,那么多个worker是独立的在各自内存中记录访问次数,不能共享其他worker进程的数据。

    
     3
  • vodaka
    2019-11-20
    老师,您好,upstream的名称为什么不区分大小写。如果配置了upstream backend 还有一个是upstream Backend。语法检查会报duplicated upstream

    作者回复: 是的,nginx的upstream模块就是这么设计的,它使用ngx_strncasecmp方法来比较upstream的名称,这个方法特意的把大小写忽略了。

    
    
  • 未完成
    2019-09-29
    老师有个问题
    location /api {
        proxy_next_upstream http_504 error timeout;
        proxy_pass http://api;
    }
    upstream api {
         server 1.1.1.1 max_fails=2 fail_timeout=30s;
         server 1.1.1.2 max_fails=2 fail_timeout=30s;
    }
    这种如果访问 http://domain/api/xxx 这个一直有问题的话504会导致 api这个loacation有问题然后 http://domain/api/yyy http://domain:api/zzz 这些都访问不了 请问有什么第三方模块可以解决或者有其他处理方式吗
    展开

    作者回复: 从你的提问,我感觉这个问题是不是上游服务导致的?问题不在Nginx上?

    
    
  • 深海极光
    2019-07-05
    Nginx出现no live upstream但是后端服务正常的情况基本是nginx的failmaxs 和failtimeout默认配置造成的,默认失败一次,就禁用failtimeout的时间,默认是10秒,当多个服务都出现超时时就502了,简单的话把failmax设置为0即可
    
    
  • 小小鸟
    2019-04-27
    老师咨询一个问题 系统压测过程 nginx有错误显示110connected upstream timeout 和no live upstreams while connecting to upstream
     后端tomcat没有错误 ,老师能提供一个分析思路吗

    作者回复: 信息量不足,简单谈下我的看法:
    1、貌似nginx建立TCP连接超时;
    2、TCP连接是由操作系统来维护的;
    3、操作系统为每个监听端口提供backlog队列,如果长期tomcat不去调用accept,而backlog队列满,这样tomcat是看不到错误的。
    因此,建议你在tomcat所在机器的操作系统层看下统计,应该相关端口大量在丢弃SYN包才对

     1
    
  • Panda
    2019-01-14
    NGINX内置变量很丰富
    
    
我们在线,来聊聊吧