Ich verwende Rails 3 mit Apache und Passenger. Seit ich von Mongrel auf Passenger umgestiegen bin, muss ich Apache jedes Mal neu starten, wenn ich meinen Code ändere. Ist dies das beabsichtigte Verhalten? Ist die einzige Möglichkeit, dieses Problem zu vermeiden, die Verwendung von Mongrel in der Entwicklung?
Antworten
Zu viele Anzeigen?Wenn man davon ausgeht, dass Sie Apache sogar für Model/View/Controller-Code neu starten müssen, sieht es so aus, als ob Sie Passenger eingerichtet haben, um Ihre Anwendung in der Produktionsumgebung auszuführen. Sie können dies beheben, indem Sie Folgendes anhängen RailsEnv development
zu Ihrem virtuellen Host.
Einige Codes erfordern einen Neustart der Anwendung, z. B. alles in config/initializers
y vendor
.
Es gibt eine Möglichkeit, nur die app (und nicht den gesamten Server), was einfach bedeutet touch tmp/restart.txt
. Dadurch wird der Zeitstempel von tmp/restart.txt
was Passenger veranlasst, die Anwendung neu zu starten.
Außerdem können Sie Folgendes tun touch tmp/always_restart.txt
. Dadurch wird Passenger angewiesen, die App neu zu starten auf jede Seite laden. Dies kann nützlich sein, wenn Sie an Abschnitten arbeiten, die einen Neustart erfordern (wie in den oben genannten Beispielen). Um den automatischen Neustart zu stoppen, müssen Sie die Datei löschen, etwa so: rm tmp/always_restart.txt
.