【问题标题】:What does upstream mean in nginx?nginx中的上游是什么意思?
【发布时间】:2011-08-18 04:30:46
【问题描述】:
upstream app_front_static {
    server 192.168.206.105:80;
}

以前没见过,有谁知道,是什么意思?

【问题讨论】:

    标签: nginx configuration


    【解决方案1】:

    用于proxying requests to other servers

    http://wiki.nginx.org/LoadBalanceExample 的一个例子是:

    http {
      upstream myproject {
        server 127.0.0.1:8000 weight=3;
        server 127.0.0.1:8001;
        server 127.0.0.1:8002;    
        server 127.0.0.1:8003;
      }
    
      server {
        listen 80;
        server_name www.domain.com;
        location / {
          proxy_pass http://myproject;
        }
      }
    }
    

    这意味着所有请求/转到上游 XXX 下列出的任何服务器,首选端口 8000。

    【讨论】:

    • 你为什么要精确http {}?我的conf没有这个,它可以工作。只是想知道
    • @OlivierPons 也许你的配置是 /etc/nginx/conf.d/default.conf 包含在 /etc/nginx/nginx.conf 中,它有 http {}
    【解决方案2】:

    upstream defines a cluster that you can proxy requests to。它通常用于定义用于负载平衡的 Web 服务器集群,或用于路由/负载平衡的应用服务器集群。

    【讨论】:

      【解决方案3】:

      如果我们有一个服务器,我们可以直接将它包含在proxy_pass 指令中。例如:

        server {
          ...
          location / {
            proxy_pass http://192.168.206.105:80;
            ...
          }
        }
      

      但如果我们有很多服务器,我们会使用上游来维护服务器。 Nginx 将根据传入流量进行负载平衡,如 answer 所示。

      【讨论】:

      • 谢谢。我试图upstream 用于一台后端服务器,打开文件错误太多等。这就是我想要的代理 Mojolicious 的测试设置。
      猜你喜欢
      • 2016-02-25
      • 1970-01-01
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 2017-06-11
      • 2018-03-05
      • 2023-03-27
      相关资源
      最近更新 更多