2013-06-22 36 views
12

我不知道什麼是錯的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 
+1

什麼標準錯誤日誌在/var/www/demo/log/unicorn.stderr.log說?順便說一句,你正在將stdout和stderr記錄到同一個文件中。 –

+0

沒有這樣的文件或目錄 - /path/to/.unicorn.sock(Errno :: ENOENT) –

回答

6

套接字是nginx和獨角獸用作它們之間所有通信的通道的「文件」。你在哪裏定義了它?在我們的麒麟CONFIGS,我們通常有這樣一行:

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如何到達獨角獸。第二個實際上是將請求路由到抽象位置「@unicorns」,而這個抽象位置又是在上一節中定義的。這樣你可以重用@unicorns速記,如果你有更復雜的nginx路由進行。

相關問題