相关疑难解决方法(0)

您可以在多个 nginx 配置文件中定义服务器的位置吗?

我在同一主机上运行了多个 ruby​​ 应用程序:

~/app1
~/app2
~/app3
Run Code Online (Sandbox Code Playgroud)

我想让 nginx 使用子目录代理这些应用程序,例如:

   http://example.com/app1
   http://example.com/app2
   http://example.com/app3
Run Code Online (Sandbox Code Playgroud)

我很好奇 nginx 是否支持我在多个文件中定义这些位置,以便我可以将每个配置保留在应用程序中,而不是为所有应用程序拥有一个单一的配置文件:

~/app1/nginx.conf
~/app2/nginx.conf
~/app3/nginx.conf
Run Code Online (Sandbox Code Playgroud)

我在 3 个配置文件中的每一个中都使用单个位置指令定义服务器的天真尝试导致conflicting server name "example.com" on [::]:80, ignored配置如下所示:

upstream app1 { server 127.0.0.1:4567; }
server {
  listen      [::]:80;
  listen      80;
  servername  example.com
  location    /app1 {
     proxy_pass  http://app1;
     proxy_http_version 1.1;
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection "upgrade";
     proxy_set_header Host $http_host;
     proxy_set_header X-Forwarded-Proto $scheme;
     proxy_set_header X-Forwarded-For $remote_addr;
     proxy_set_header X-Forwarded-Port $server_port;
     proxy_set_header X-Request-Start $msec;
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法以这种方式组织配置?

nginx

16
推荐指数
2
解决办法
3万
查看次数

Nginx 包含的配置文件不按顺序?

Nginx 包含配置文件的顺序是固定的还是随机的?Apache明确声明通配符按字母顺序展开。使用 Nginx 似乎这不适用,并且手册没有说明

在我的设置中,20_example.com包含 before 00_default,这违背了我在那里定义共享指令(如日志格式)的目的。

configuration nginx

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

nginx ×2

configuration ×1