W moim bieżącym projekcie Ruby on Rails korzystam z serwera Webrick (domyślny) do programowania. Mam oddzielny serwer do testowania aplikacji i chcę ustawić środowisko na Produktach. Użyłem następującej linii, aby uruchomić serwer w trybie produkcyjnym.Uruchamianie szyn w trybie produkcji na serwerze Webrick
rails s -e production
Problem jest, to działa doskonale, jeśli jej w trybie rozwoju, ale w trybie serwera Dostaję następujący błąd:
Started GET "/" for 172.20.7.94 at Thu Jun 07 10:35:45 +0530 2012
Processing by FrontendController#dashboard as HTML
Rendered frontend/dashboard.html.erb within layouts/frontend (3.0ms)
Completed 200 OK in 50ms (Views: 22.0ms | ActiveRecord: 0.0ms)
Started GET "/assets/frontend-datauri.css" for 172.20.7.94 at Thu Jun 07 10:35:4
6 +0530 2012
Processing by Jammit::Controller#package as HTML
Parameters: {"extension"=>"css", "package"=>"frontend-datauri"}
Completed 500 Internal Server Error in 190ms
NameError (uninitialized constant POpen4::Open4):
Started GET "/assets/frontend.js" for 172.20.7.94 at Thu Jun 07 10:35:46 +0530 2
012
Processing by Jammit::Controller#package as
Parameters: {"extension"=>"js", "package"=>"frontend"}
Completed 500 Internal Server Error in 105ms
NameError (uninitialized constant POpen4::Open4):
używam Jammit i POpen4 i moje szyny wersja : 3.0.9. Wersja Ruby 1.8.7. Nie mogę obecnie uaktualnić wersji, ponieważ kilku innych programistów jest zaangażowanych w projekt. Czy ktoś może mi na to poradzić?
Dzięki
Pierwsza sprawa: przy użyciu serwer WEBrick w produkcji jest to zły pomysł. Nie zostało to zaprojektowane i ma bardzo słabe wyniki. Użyj 'thin',' unicorn', ... Druga sprawa: wygląda na to, że gem POpen4 nie jest obecny w twoim pakiecie. Czy umieścisz klej POpen4 w grupie ': development' tylko w swoim pliku gem? Lub uruchomiłeś 'bundle install' z wyłączeniem gemów produkcyjnych z opcją' --without'? –
Właściwie nic nie wspomniałem o POpen4 w Gemfile również tak przy użyciu Webrick do produkcji nie jest dobrym pomysłem, ale używam go na serwerze testowym, aby upewnić się, że działa idealnie – Mujahid