2013-06-22 19 views
12

Unicorn.rb dosyasında neyin yanlış olduğunu bilmiyorum. benim unicorn.rb yapılandırması, nginx'i başarılı bir şekilde çalıştıran Tek boynuzlu başlatılamıyor, ana başlatılamadı, detaylar için stderr günlüğünü denetle

sudo servier nginx start 
sudo unicorn -c /var/www/demo/config/unicorn.rb -D 
+1

/var/www/demo/log/unicorn.stderr.log adresindeki stderr günlüğü ne diyor? BTW, stdout ve stderr dosyasını aynı dosyaya kaydediyorsunuz. –

+0

Böyle bir dosya veya dizin yok - /path/to/.unicorn.sock (Errno :: ENOENT) –

cevap

6

soket aralarındaki tüm iletişim için bir kanal olarak "dosya" diye nginx ve tek boynuzlu kullanımıdır. Nerede tanımladın? Bu yapılandırma dosyasında

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; 
} 

:

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

Ardından, nginx.conf içinde, bu soket hakkında nginx söylemem lazım mesela: Bizim tek boynuzlu at yapılandırmasında, biz genellikle böyle bir çizgi var İlk bölüm nginx'in unicorn'a nasıl ulaşabileceğini tanımlar. İkincisi, istekleri aslında son bölümde tanımlanmış olan soyut bir konum olan @unicorns'a yönlendirir. Bu şekilde, daha karmaşık nginx yönlendirmeleriniz devam ediyorsa @unicorns kısa yolunu yeniden kullanabilirsiniz.