2013-05-05 10 views
7

Kiedy uruchomić następującą komendę, aby uruchomić Unicorn dla aplikacji Sinatra na moim Vagrant polu (ubuntu-12.04.2-server-i386)Unicorn nie uruchomi się na Vagrant polu powodu ERRNO :: EPERM

sudo unicorn -c unicorn.rb -E development -D -l 0.0.0.0:8080 

Otrzymuję następujący błąd w dziennikach Unicorn.

I, [2013-05-05T19:15:15.538805 #2357] INFO -- : listening on addr=0.0.0.0:8080 fd=5 
F, [2013-05-05T19:15:15.541673 #2357] FATAL -- : error adding listener addr=/home/vagrant/tmp/myapp/sockets/unicorn.sock 
/home/vagrant/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/unicorn-4.3.1/lib/unicorn/socket_helper.rb:140:in `initialize': Operation not permitted - "/home/vagrant/tmp/myapp/sockets/unicorn.sock" (Errno::EPERM) 

jestem zalogowany jako włóczęga użytkownika i skonfigurowaniu unicorn.rb zgodnie http://recipes.sinatrarb.com/p/deployment/nginx_proxied_to_unicorn

@dir = '/home/vagrant/myapp/' 

worker_processes 4 
working_directory @dir 

timeout 30 

listen "#{@dir}tmp/sockets/unicorn.sock", :backlog => 64 
pid "#{@dir}tmp/pids/unicorn.pid" 

stderr_path "#{@dir}log/unicorn.stderr.log" 
stdout_path "#{@dir}log/unicorn.stdout.log" 

Szukałem poprzez kod i nie udaje mu się zainicjować następujące

Kgio::UNIXServer.new('0.0.0.0:8080') 
+1

Właśnie zacząłem mieć ten sam problem z aplikacją Rails. Bardzo podobna konfiguracja do tego, co masz. –

Odpowiedz

16

Jednorożec nie może przechowywać pliku .sock na współdzielonym folderze wirtualnym, więc musisz zmodyfikować gniazdo:

listen "#{@dir}tmp/sockets/unicorn.sock", :backlog => 64 

do tego:

listen "/tmp/sockets/unicorn.sock", :backlog => 64 

Albo jakaś inna lokalizacja poza VBox wspólny folder.

+0

dzięki problem rozwiązany! – jamesshipton

+0

Co się stanie, jeśli z pewnych przyczyn ta opcja nie będzie możliwa? Czy nie istnieje konfiguracja w Vagrant, która może rozwiązać ten problem? Ponadto, dlaczego nie może "przechowywać pliku .sock w folderze współdzielonym Virtualbox"? – Agis

+0

Powiedziałbym, że jest to użyteczne w przypadku większości problemów związanych z gniazdem u włóczęgi podczas próby użycia folderów współdzielonych. Jeśli ktoś mógłby dać obejście, że odpowiedzi @Agis byłaby świetna. – jonnybazookatone