如何在不同的端口上运行多个 Nginx 实例

Edv*_*nas 10 nginx

我想在我的服务器上的不同端口上运行多个 Nginx 实例(例如,一个用户在端口 2345 上运行 Nginx,另一个用户在端口 2346 上运行)。到目前为止,我已经成功地在他们指定的端口上编译和运行了服务器。但是,我遇到了一个奇怪的问题:如果我访问 domain1.com:2345 或 domain2.com:2346 我会得到正确的 (200) 响应但是如果我访问 domain1.com 或 domain2.com(没有指定端口)我根本得不到回应。

任何帮助/线索弄清楚如何设置它都将受到高度赞赏。

Edv*_*nas 13

好的,我找到了解决方案。

我所做的是在端口 80 上以 root 身份运行一个“主”服务器。从那里我在每个服务器的端口上为每个服务器添加服务器块,并使用一个 proxy_pass 指令到服务器。

  server {
    listen      80;
    charset     utf-8;
    server_name domain1.com;
    location / {
        proxy_pass http://domain1.com:2345;
  }
  server {
    listen      80;
    charset     utf-8;
    server_name domain2.com;
    location / {
        proxy_pass http://domain2.com:2346;
  }
Run Code Online (Sandbox Code Playgroud)

也许有一个更优雅的解决方案,但这似乎运作良好。