nginx:上游有多个服务器指令?

oDD*_*ooL 16 nginx

我正在尝试打包 2 个使用 nginx 作为代理的应用程序,并将每个配置文件传送到/etc/nginx/conf.d/.

在一个文件 ( combined.conf) 中执行此操作非常有效:

    upstream backend1 {
      http://localhost:8989;
    }

    upstream backend2 {
      http://localhost:8990;
    }

    server {
      location /backend1/ {
        proxy_pass  http://backend1;
      }
      location /backend2/ {
        proxy_pass  http://backend2;
      }
Run Code Online (Sandbox Code Playgroud)

但是,当拆分为 2 个文件时,其中一个重定向系统会失败:

所以我的问题是:一个http节点可以有 2 个不同的server孩子吗?

Nginx文档对此一无所知。

不过,其他人似乎已经在这种架构上取得了成功:(

Nginx 版本为 1.1.19-1ubuntu0.1。

感谢您的任何建议!

oDD*_*ooL 8

经过如此轰轰烈烈的测试,我想出了一种方法来使它工作并且能够为每个应用程序发送一个配置文件。

在这里,每个应用程序在一个公共文件和一对上游/位置文件中分派: