Ich habe einen Ruby on rail 4.0.3-Server auf einem Server bereitgestellt, den ich mit der folgenden wahrscheinlich relevanten Software konfiguriert habe:
- Ubuntu 12.04.4 x64 Server
- Phusionspassagier 4.0.37
- Apache 2.2.22
- Ruby 2.0.0p353
- Schienen 4.0.3 / Capistrano 2.15.5 / Rechen 10.1.1
Mit der App scheint alles einwandfrei zu funktionieren, mit Ausnahme der Rail-Anwendungsprotokollierung. Ich gehe davon aus, dass alles anwendungsspezifische in die Datei {Rails.root} /log/production.log geschrieben werden soll. Es wird jedoch alles in /var/log/apache2/error.log geschrieben.
Hier ist ein Auszug aus dem Apache error.log, um zu zeigen, was ich meine:
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)
Ich finde es interessant, dass log / production.log sogar erstellt wird, aber nichts geschrieben wird.
Einige Dinge, die ich mir angesehen / überprüft habe:
- RAILS_ENV = Produktion
- Für {Rails.root} /config/environments/production.rb sind alle Standardwerte festgelegt
- Mein Apache / Passagier-Setup ist meistens Standard, mit der Ausnahme, dass Sie einen Virtualhost-Eintrag für meine App hinzufügen müssen.
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/apps/myapp/current/public RailsEnv production </VirtualHost>
- Die Berechtigungen für alle Dateien in der Rails-App scheinen gut zu sein - und aus Verzweiflung versuchte ich, dem Protokoll / production.log die Berechtigung "777" zu erteilen, ohne Erfolg.
Gerne gebe ich Ihnen auf Anfrage weitere Informationen zur Anwendungskonfiguration oder Umgebungsdetails.
Antworten:
Ich hatte eine ähnliche Situation. In meinem Fall a
#{Rails.root}/config.ru
schloss die Zeile einuse Rails::Rack::LogTailer
. Dies führte dazu, dass auch alle Rails-Protokolle hinzugefügt wurden/var/log/apache2/error.log
.quelle