10 Stimmen

Ich muss Apache jedes Mal neu starten, wenn ich meinen Rails-Code ändere

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?

22voto

vonconrad Punkte 24867

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 .

0voto

Pan Thomakos Punkte 33342

Sie können passenger auch allein in der Entwicklung verwenden, indem Sie den Standalone-Modus nutzen. Geben Sie in Ihrem Projektverzeichnis

passenger start

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X