web-dev-qa-db-ja.com

Unicornを開始できません。マスターを開始できませんでした。詳細については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
15
Pravin Mishra

ソケットは、nginxとUnicornがそれらの間のすべての通信のチャネルとして使用する「ファイル」です。どこで定義しましたか? Unicornの設定では、通常、次のような行があります。

listen APP_PATH + "/tmp/pid/.Unicorn.sock

次に、nginx.confで、このソケットについてnginxに通知する必要があります。例:

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がUnicornに到達する方法を定義しています。 2つ目は、実際にはリクエストを抽象的な場所 "@unicorns"にルーティングします。これは、前のセクションで定義されています。この方法では、より複雑なnginxルーティングが行われている場合に@unicorns省略表現を再利用できます。

7