Ruby on rails rails nginx puma duplicate upstream“;“美洲狮”;在/etc/nginx/sites中启用

Ruby on rails rails nginx puma duplicate upstream“;“美洲狮”;在/etc/nginx/sites中启用,ruby-on-rails,nginx,puma,Ruby On Rails,Nginx,Puma,我已经为本教程设置了服务器() 当我使用一个项目时,所有项目都可以工作,但当我将另一个项目添加到此VPS时,我出现了错误 [emerg]20737#0:etc/nginx/sites enabled/vsejalreg:1中的重复上游“puma” 我的nginx的配置 upstream puma { server unix:///home/deployer/apps/vsejalreg/shared/tmp/sockets/vsejalreg-puma.sock; } server {

我已经为本教程设置了服务器()

当我使用一个项目时,所有项目都可以工作,但当我将另一个项目添加到此VPS时,我出现了错误
[emerg]20737#0:etc/nginx/sites enabled/vsejalreg:1中的重复上游“puma”

我的nginx的配置

upstream puma {
  server unix:///home/deployer/apps/vsejalreg/shared/tmp/sockets/vsejalreg-puma.sock;
}

server {
  listen 80;
  server_name wjreg.rubyserv.ru www.wjreg.rubyserv.ru;

  root /home/deployer/apps/vsejalreg/current/public;
  access_log /home/deployer/apps/vsejalreg/current/log/nginx.access.log;
  error_log /home/deployer/apps/vsejalreg/current/log/nginx.error.log info;

  location ^~ /assets/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
  }

  try_files $uri/index.html $uri @puma;
  location @puma {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    proxy_pass http://puma;
  }

  error_page 500 502 503 504 /500.html;
  client_max_body_size 10M;
  keepalive_timeout 10;
}

当我添加nginx配置一个一个-所有的工作

如何修复这个袋子或彪马不与许多项目


谢谢

Puma可以与任何正确配置的项目一起工作:)您可以只配置一次命名上游(上游Puma),而不是每个服务器配置。如果每个服务器需要不同的puma实例,只需使用不同的名称设置上游

upstream puma_vsejalreg {
  server unix://...PATH.../vsejalreg-puma.sock;
}
upstream puma_register {
  server unix://...PATH.../register-puma.sock;
}

请注意,您还需要更改此部分:

location @puma {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    proxy_pass http://puma;
  }
否则,您将遇到以下错误-
nginx:[emerg]主机未在/etc/nginx/sites enabled/furnitureapp:25的上游“puma”中找到

因此,如果您将上游重命名为

upstream puma_register
您还需要将代理\u密码重命名为

location @puma {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    proxy_pass http://puma_register; <------ Change here
  }
location@puma{
proxy\u set\u header X-Forwarded-For$proxy\u add\u X\u Forwarded\u For;
代理设置头主机$http\U主机;
代理_重定向关闭;

代理通行证http://puma_register;这是可行的!但是,需要更改为;和Thx!是的,这是我写的-上游不能有重复的名称:)所有服务器都需要1个上游,您可以将其命名为“puma”,以表示eöample,或者每个服务器需要1个上游,每个上游必须是唯一的名称(puma1、puma2、puma_寄存器等)。每个上游都适用于多域?例如:
foo.com
bar.com
location @puma {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    proxy_pass http://puma_register; <------ Change here
  }