Wdrożyłem aplikację Ruby on Rails 4.0.3 na serwerze, który skonfigurowałem za pomocą następującego prawdopodobnie odpowiedniego oprogramowania:
- Serwer Ubuntu 12.04.4 x64
- Phusion Passenger 4.0.37
- Apache 2.2.22
- Ruby 2.0.0p353
- Szyny 4.0.3 / Capistrano 2.15.5 / Grabie 10.1.1
Wygląda na to, że wszystko w aplikacji działa poprawnie, z wyjątkiem rejestrowania aplikacji w szynie. Oczekuję, że wszystko, co jest specyficzne dla aplikacji, powinno zostać zapisane w pliku {Rails.root} /log/production.log. Jednak wszystko wydaje się być zapisywane w /var/log/apache2/error.log.
Oto fragment apache error.log, który pokazuje, co mam na myśli:
App 1495 stdout: Started GET "/" for 192.168.1.106 at 2014-03-08 17:26:04 -0500
App 1495 stdout: Processing by HomeController#index as HTML
App 1495 stdout: Rendered home/index.html.erb within layouts/application (0.1ms)
App 1495 stdout: Rendered layouts/_header.html.erb (2.0ms)
App 1495 stdout: Rendered home/_auth.html.erb (0.4ms)
App 1495 stdout: Rendered layouts/_footer.html.erb (0.1ms)
App 1495 stdout: Completed 200 OK in 9ms (Views: 5.8ms | ActiveRecord: 0.0ms)
Interesujące jest to, że log / production.log jest nawet tworzony, ale nic nie jest do niego zapisywane.
Niektóre rzeczy, które sprawdziłem / zweryfikowałem:
- RAILS_ENV = produkcja
- {Rails.root} /config/environments/production.rb jest ustawiony na wszystkie wartości domyślne
- Moja konfiguracja apache / pasażerów jest w większości domyślna, z wyjątkiem konieczności dodania wpisu virtualhost do mojej aplikacji, na przykład:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/apps/myapp/current/public RailsEnv production </VirtualHost>
- Uprawnienia do wszystkich plików w aplikacji railsowej wydają się być dobre - w desperacji próbowałem udzielić logu / production.log bezskutecznie uprawnienia „777”.
Z przyjemnością podam na żądanie wszelkie inne informacje o konfiguracji aplikacji lub szczegóły środowiska.