ruby-on-rails – 无法启动独角兽,master无法启动,请查看stderr日志中的详细信息

我不知道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路由.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...