系统相关
首页 > 系统相关> > ruby-on-rails – rails nginx puma在/ etc / nginx / sites-enabled中复制上游“puma”

ruby-on-rails – rails nginx puma在/ etc / nginx / sites-enabled中复制上游“puma”

作者:互联网

我为本教程设置了服务器(https://coderwall.com/p/ttrhow/deploying-rails-app-using-nginx-puma-and-capistrano-3)

当我使用一个项目时,一切正常,但当我向这个VPS添加另一个项目时,我有错误
[emerg] 20737#0:在/ etc / nginx / sites-enabled / vsejalreg中复制上游“puma”:1

我的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;
}

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

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

  root /home/deployer/apps/register/current/public;
  access_log /home/deployer/apps/register/current/log/nginx.access.log;
  error_log /home/deployer/apps/register/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实例,只需使用不同的名称设置上游.

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

标签:puma,ruby-on-rails,nginx
来源: https://codeday.me/bug/20190824/1711127.html