Nginx,Unicorn和Rails = 502 Bad Gateway

我试图设置Nginx,独angular兽和Rails应用程序一起工作。 Nginx和Nnicorn正在运行,我用ps命令检查过。

但是,当试图访问我的网页时,我得到了502错误的网关

Nginx错误日志有一行:

2015/03/18 19:53:26 [错误] 14319#0:* 1连接()到unix:/var/sockets/unicorn.mypage.sock失败(11:资源暂时不可用),同时连接到上游

可能是什么问题?

我的/etc/nginx/conf.d/default.conf

upstream app { server unix:/var/sockets/unicorn.mypage.sock fail_timeout=0; } server { listen 80; server_name mypage.com; # Application root, as defined previously root /home/rails/mypage/public; location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html $uri @app; 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; } error_page 500 502 503 504 /500.html; client_max_body_size 4G; keepalive_timeout 10; } 

/home/rails/mypage/config/unicorn.rb

 working_directory "/home/rails/mypage" pid "/home/rails/mypage/pids/unicorn.pid" stderr_path "/home/rails/mypage/log/unicorn.log" stdout_path "/home/rails/mypage/log/unicorn.log" listen "/var/sockets/unicorn.mypage.sock", backlog: 1024 worker_processes 2 timeout 30 

它看起来像套接字的问题,但它通常是(111:连接拒绝)当套接字关闭,所以我认为这是应用程序的问题(高负载,执行缓慢等)。

尝试减少积压,并再次看到日志的细节:

 listen "/var/sockets/unicorn.mypage.sock", backlog: 64 

:backlog =>客户数量

我解决了这个问题。

这是因为我的独角兽服务器是在开发环境中启动的,而不是在生产环境中。 独角兽试图连接到开发数据库,​​但缺少database.yml中的开发数据库凭证。 在我生产env的独角兽之后,所有的东西都连接好了。