我不知道unicorn.rb文件有什么问题.我的unicorn.rb配置是
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"
运行Nginx成功.
sudo servier Nginx start sudo unicorn -c /var/www/demo/config/unicorn.rb -D
解决方法
套接字是Nginx和独角兽的“文件”,用作它们之间所有通信的通道.你在哪里定义了在我们的独角兽配置中,我们通常有这样一条线:
listen APP_PATH + "/tmp/pid/.unicorn.sock
然后,在你的Nginx.conf中,你需要告诉Nginx这个socket,例如:
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; }
在这个配置文件中,第一部分定义了Nginx如何到达独角兽.第二个实际上将请求路由到抽象位置“@unicorns”,这反过来在最后一节中定义.这样你可以重新使用@unicorns的简写,如果你有更复杂的Nginx路由.