Ruby on rails Unicorn添加侦听器Unicorn.sock失败

Ruby on rails Unicorn添加侦听器Unicorn.sock失败,ruby-on-rails,nginx,unicorn,Ruby On Rails,Nginx,Unicorn,我正在尝试在VPS服务器上运行rails应用程序。但在将侦听器添加到Unicorn套接字时出现了一个致命错误 我用的是Nginx+ngx_pagespeed,foreman,Unicorn,Capistrano 在nginx.error.log中 2014/10/06 22:18:23 [crit] 268#0: *5 connect() to unix:/var/www/apps/APP_NAME/socket/.unicorn.sock failed (2: No such file or

我正在尝试在VPS服务器上运行rails应用程序。但在将侦听器添加到Unicorn套接字时出现了一个致命错误

我用的是Nginx+ngx_pagespeed,foreman,Unicorn,Capistrano

nginx.error.log中

2014/10/06 22:18:23 [crit] 268#0: *5 connect()
to unix:/var/www/apps/APP_NAME/socket/.unicorn.sock failed
(2: No such file or directory) while connecting to upstream,
client: XXX.XXX.XXX.XXX,
server: _,
request: "GET / HTTP/1.1",
upstream: "http://unix:/var/www/apps/APP_NAME/socket/.unicorn.sock:/",
host: "DOMAIN_NAME"
F, [2014-10-07T20:39:49.320008 #24012]
FATAL -- : error adding listener addr=/var/sockets/unicorn.APP_NAME.sock
unicorn.stderr.log中

2014/10/06 22:18:23 [crit] 268#0: *5 connect()
to unix:/var/www/apps/APP_NAME/socket/.unicorn.sock failed
(2: No such file or directory) while connecting to upstream,
client: XXX.XXX.XXX.XXX,
server: _,
request: "GET / HTTP/1.1",
upstream: "http://unix:/var/www/apps/APP_NAME/socket/.unicorn.sock:/",
host: "DOMAIN_NAME"
F, [2014-10-07T20:39:49.320008 #24012]
FATAL -- : error adding listener addr=/var/sockets/unicorn.APP_NAME.sock
我的
unicorn.rb

worker_processes 2

working_directory '/var/www/apps/APP_NAME/current' # available in 0.94.0+

listen '/var/www/apps/APP_NAME/socket/.unicorn.sock', :backlog => 64
listen 8080, :tcp_nopush => true

timeout 30

pid '/var/www/apps/APP_NAME/run/unicorn.pid'

stderr_path '/var/www/apps/APP_NAME/log/unicorn.stderr.log'
stdout_path '/var/www/apps/APP_NAME/log/unicorn.stdout.log'

preload_app true
GC.respond_to?(:copy_on_write_friendly=) and GC.copy_on_write_friendly = true

check_client_connection false

before_fork do |server, worker|

  defined?(ActiveRecord::Base) and
      ActiveRecord::Base.connection.disconnect!

  old_pid = "#{server.config[:pid]}.oldbin"
  if old_pid != server.pid
    begin
      sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU
      Process.kill(sig, File.read(old_pid).to_i)
    rescue Errno::ENOENT, Errno::ESRCH
    end
  end

end

after_fork do |server, worker|

  defined?(ActiveRecord::Base) and
      ActiveRecord::Base.establish_connection

end
nginx.conf

user nginx web;

pid /var/run/nginx.pid;
error_log /var/www/log/nginx.error.log;

events {
  worker_connections 1024;
  accept_mutex off;
  use epoll;
}

http {

  include mime.types;
  types_hash_max_size 2048;
  server_names_hash_bucket_size 64;
  default_type application/octet-stream;
  access_log /var/www/log/nginx.access.log combined;
  sendfile on;
  tcp_nopush on;
  tcp_nodelay off;

  gzip on;
  gzip_http_version 1.0;
  gzip_proxied any;
  gzip_min_length 0;
  gzip_vary on;
  gzip_disable "MSIE [1-6]\.";
  gzip_proxied expired no-cache no-store private auth;
  gzip_comp_level 9;
  gzip_types text/plain text/xml text/css
             text/comma-separated-values
             text/javascript application/x-javascript
             application/atom+xml;

  upstream app_server {
    server unix:/var/www/apps/APP_NAME/socket/.unicorn.sock fail_timeout=0;
  }

  server {

    pagespeed on;
    pagespeed FileCachePath /var/ngx_pagespeed_cache;

    location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
      add_header "" "";
    }

    location ~ "^/ngx_pagespeed_static/" { }
    location ~ "^/ngx_pagespeed_beacon$" { }

    location /ngx_pagespeed_statistics {
      allow 127.0.0.1; allow 5.228.169.73; deny all;
    }

    location /ngx_pagespeed_global_statistics {
      allow 127.0.0.1; allow 5.228.169.73; deny all;
    }

    pagespeed MessageBufferSize 100000;

    location /ngx_pagespeed_message {
      allow 127.0.0.1; allow 5.228.169.73; deny all;
    }

    location /pagespeed_console {
      allow 127.0.0.1; allow 5.228.169.73; deny all;
    }

    charset utf-8;
    listen 80 default deferred; # for Linux
    client_max_body_size 4G;
    server_name _;
    keepalive_timeout 5;
    root /var/www/apps/APP_NAME/current/public;
    try_files $uri/index.html $uri.html $uri @app;

    location ~ ^/(assets)/  {
      root /var/www/apps/APP_NAME/current/public;
      expires max;
      add_header Cache-Control public;
    }

    location @app {
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $http_host;
      proxy_redirect off;
      proxy_pass http://app_server;
    }

    error_page 500 502 503 504 /500.html;
    location = /500.html {
      root /var/www/apps/APP_NAME/current/public;
    }
  }
}
对不起,如果我的问题中有很多无用的信息。这是我第一次在VPS上部署,所以我还不擅长。当然,我已经将
APP\u NAME
更改为我当前的应用程序名


谢谢你的帮助

目录/var/www/apps/APP\u NAME/socket/是否存在?这可能是错误的来源。如果目录不存在,则无法在其中创建套接字文件,并且将失败。是,目录存在。它是空的。