Nginx ne peut pas trouver le fichier de socket unix avec Unicorn

J’ai déjà vérifié l’application, et tout semble aller bien (code d’une application config sage), aussi le serveur, la firebase database sont ok, dans les logs j’ai eu cette erreur, j’ai déjà regardé ce Nginx ne trouve pas le fichier socket unix avec Unicorn (pas un tel fichier ou répertoire) mais je ne sais même pas par où commencer pour réaliser “Modifiez simplement la variable d’écoute dans votre fichier de configuration Unicorn. Ex: listen” /var/sockets/unicorn.[app name] .sock ” , puis configurez Nginx pour qu’il proxy toutes les connexions à votre serveur vers ce fichier de socket, par exemple unix serveur: / var / sockets / unicorn. [nom de l’application] .sock fail_timeout = 0; ” Si quelqu’un pouvait me demander des instructions sur la façon de le faire, ce serait génial.

J’ai changé les fichiers, mais bloqués dans la même erreur, les fichiers de configuration mi sont (j’ai supprimé des parties des fichiers pour des raisons de confidentialité):

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 

et la configuration de ngix

 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_certificatee ssl_certificatee_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; } 

Donc, enfin, le système a été mis en place, et pour toutes les personnes confrontées à des problèmes similaires, et sans une connaissance approfondie de la licorne ou du ngixn, voici les étapes à suivre:

Assurez-vous d’abord que les deux services sont en cours d’exécution (Unicorn est le serveur d’applications et ngixn le serveur HTTP), les deux services doivent être configurés dans /etc/init.d/.

Arrêtez les deux services.

Vérifiez vos politiques dans selinux, voici une bonne question sur la façon de le faire pour la même erreur en PHP Erreur nginx connectez-vous à php5-fpm.sock échoué (13: autorisation refusée) , l’idée est de s’assurer que selinux n’interfère pas avec le processus rad de la socket (la socket est créée par Licorne et lue par ngixn)

alors vous devez éditer vos fichiers de configuration unicorn.rb et nginx.conf, les deux devraient pointer vers un dossier différent de tmp pour le socket, voici pourquoi https://serverfault.com/questions/463993/nginx-unix-domain-socket -error / 464025 # 464025

Donc, finalement, mes configurations ressemble à ceci:

Partie du fichier de configuration nginx

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

partie du fichier de configuration de licorne

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

puis lancez un licorne un ngixn, si vous obtenez une autorisation (13: refusée) en vous connectant à une erreur en amont, faites simplement un socket sudo chmod 775 / changez le socket pour le dossier de stockage de votre socket licorne, le service de redémarrage ngixn.