Rails / Nginx / Capistrano / Puma:连接到上游时(111:Connection拒绝)

时间:2016-06-07 00:51:43

标签: ruby-on-rails-4 nginx connection capistrano3 puma

我一直在nginx.error.log中收到此错误:

2016/06/06 20:14:02 [error] 907#0: *1 connect() to unix:///home/user/apps/appname/shared/tmp/sockets/appname-puma.sock failed (111: Connection refused) while connecting to upstream, client: 50.100.162.19, server: , request: "GET / HTTP/1.1", upstream: "http://unix:///home/user/apps/appname/shared/tmp/sockets/appname-puma.sock:/", host: "appname.com"

(here it is with manually added newlines for your convenience)
2016/06/06 20:14:02 [error] 907#0: *1 connect() to
unix:///home/user/apps/appname/shared/tmp/sockets/appname-puma.sock failed
(111: Connection refused) while connecting to upstream, client: 
50.100.162.19, server: , request: "GET / HTTP/1.1", upstream: 
"http://unix:///home/user/apps/appname/shared/tmp/sockets/appname-
puma.sock:/", host: "appname.com"

这是我的nginx.conf:

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

server {
  listen 80 default_server deferred;
  # server_name example.com;

  root /home/user/apps/appname/current/public;
  access_log /home/user/apps/appname/current/log/nginx.access.log;
  error_log /home/user/apps/appname/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;
}

我做错了什么? 我跟着Digital Ocean's tutorial建立了Capistrano,Nginx和Puma。

3 个答案:

答案 0 :(得分:6)

所以解决方案是重启puma。

cap production deploy:restart

每次重启服务器时,我都需要重启puma。

答案 1 :(得分:1)

我的建议是检查

~/apps/appname/shared/log/puma.stderr.log

日志文件。你可能会找到答案

答案 2 :(得分:0)

看着log/puma_error.log,我看到了错误(尝试加载捆绑器时出现LoadError),做了gem update --system修复了该错误。