Ho distribuito un'applicazione ruby on rails 4.0.3 su un server che ho configurato con il seguente software probabilmente pertinente:
- Server Ubuntu 12.04.4 x64
- Phusion Passenger 4.0.37
- Apache 2.2.22
- Ruby 2.0.0p353
- Rails 4.0.3 / Capistrano 2.15.5 / Rake 10.1.1
Tutto con l'app sembra funzionare correttamente, ad eccezione della registrazione dell'applicazione rails. La mia aspettativa è che tutto ciò che è specifico dell'applicazione debba essere scritto nel file {Rails.root} /log/production.log. Tuttavia, tutto sembra essere stato scritto in /var/log/apache2/error.log.
Ecco un estratto da apache error.log per mostrare cosa intendo:
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)
Trovo interessante che anche il log / production.log venga creato, ma non vi viene scritto nulla.
Alcune cose che ho esaminato / verificato:
- RAILS_ENV = produzione
- {Rails.root} /config/environments/production.rb è impostato su tutti i valori predefiniti
- La mia configurazione di apache / passeggero è per lo più predefinita, con l'eccezione di dover aggiungere una voce di virtualhost per la mia app, in questo modo:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/apps/myapp/current/public RailsEnv production </VirtualHost>
- Le autorizzazioni per tutti i file nell'app rails sembrano essere buone - e disperatamente ho provato a concedere l'autorizzazione "777" al log / production.log, senza risultato.
Sarò felice di fornire qualsiasi altra informazione sulla configurazione dell'applicazione o dettagli sull'ambiente su richiesta.