Nginx无法find与Unicorn的unix套接字文件

我已经检查了应用程序,并且一切接缝都没问题(代码configuration明智的应用程序),也是服务器,数据库都可以,在日志中我得到了这个错误,我已经看了这个Nginx无法find与Unicorn的Unix套接字文件(没有这样的文件或目录),但我真的不知道从哪里开始,以实现“只需修改你的Unicornconfiguration文件中的listenvariables。例如:listen”/var/sockets/unicorn.[app name] .sock“ ,然后configurationNginx代理服务器到服务器的所有连接,例如server unix:/ var / sockets / unicorn [app name] .sock fail_timeout = 0; 如果有人可以请指点我在如何做到这一点的方向,这将是伟大的。

我改变了文件,但卡住在相同的错误,miconfiguration文件(我已经删除部分文件confidenciality的原因):

root = "" working_directory root pid "#{root}/tmp/pids/unicorn.pid" stderr_path "#{root}/log/unicorn.log" stdout_path "#{root}/log/unicorn.log" listen "/var/sockets/unicorn.camicase.sock" worker_processes 2 timeout 30 

和ngixconfiguration

 upstream unicorn { server unix:/var/sockets/unicorn.camicase.sock fail_timeout=0; } server { listen 80; server_name _; rewrite ^ https://$host$request_uri? permanent; } server { listen 443; server_name root ssl on; ssl_certificate ssl_certificate_key ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html $uri @unicorn; location @unicorn { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://unicorn; } error_page 500 502 503 504 /500.html; client_max_body_size 4G; keepalive_timeout 10; } 

所以终于搞定了系统的运行,对于所有遇到类似问题的人们来说,没有关于麒麟或者冥界的知识,步骤是:

首先确保两个服务都在运行(独角兽是应用程序服务器,ngixn是http服务器),两个服务都应该在/etc/init.d/中配置。

停止这两项服务。

在selinux检查你的政策,这里是一个很好的问题,如何做相同的错误在PHP nginx错误连接到php5-fpm.sock失败(13:权限被拒绝) ,这个想法是要确保selinux不干扰与套接字的rad进程(套接字由独角兽创建并且由ngixn提供)

那么你必须编辑你的配置文件unicorn.rb和nginx.conf,都应该指向一个文件夹不同于tmp的套接字这里是为什么https://serverfault.com/questions/463993/nginx-unix-domain-socket -error / 464025#464025

所以最后我的配置看起来像这样:

nginx配置文件的一部分

 upstream unicorn { server unix:/home/myuser/apps/myapp/shared/socket/unicorn.camicase.sock fail_timeout=0; } 

部分独角兽配置文件

 listen "/home/deployer/apps/stickystreet/shared/socket/unicorn.camicase.sock" 

然后启动独角兽一个ngixn,如果你得到一个(13:权限被拒绝),而连接到上游错误只是做一个sudo chmod 775插座/更换插槽的任何文件夹,你把你的麒麟套接字存储,重新启动ngixn服务。