Je ne sais pas ce qui ne va pas avec le fichier unicorn.rb. ma config unicorn.rb est
APP_PATH = "/var/www/demo" working_directory APP_PATH stderr_path APP_PATH + "/log/unicorn.stderr.log" stdout_path APP_PATH + "/log/unicorn.stderr.log" pid APP_PATH + "/tmp/pid/unicorn.pid"
courir nginx avec succès.
sudo servier nginx start sudo unicorn -c /var/www/demo/config/unicorn.rb -D
Le socket est le “fichier” utilisé par nginx et unicorn comme canal pour toutes les communications entre eux. Où l’avez-vous défini? Dans nos configs Licorne, nous avons généralement une ligne comme celle-ci:
listen APP_PATH + "/tmp/pid/.unicorn.sock
Ensuite, dans votre fichier nginx.conf, vous devez indiquer à nginx ce socket, par exemple:
upstream unicorn { server unix:/var/www/demo/tmp/pid/.unicorn.sock fail_timeout=0; } location / { root /var/www/demo/current/public ; try_files $uri @unicorns; } location @unicorns { proxy_pass http://unicorn; }
Dans ce fichier de configuration, la première section définit comment nginx peut atteindre la licorne. Le second achemine effectivement les requêtes vers un emplacement abstrait “@unicorns”, lui-même défini dans la dernière section. De cette façon, vous pouvez réutiliser le raccourci @unicorns si votre routage nginx est plus complexe.