/ / Ruby on Rails-Architektur - Rubin auf Schienen, Rubin, Passagier, Rack

Ruby on Rails Architektur - Ruby-on-Rails, Rubin, Passagier, Rack

Ich bin ziemlich neu in Rubin auf Schienen. Ich habe ein eingerichtet Apache Server, an den Anfragen gerichtet werden Phusion Passenger, Passenger ruft den entsprechenden Controller auf und erledigt die Aufgabe. Wann ist ein Rackmodul (config.ru) namens? Wird es für jede Anfrage aufgerufen, die Apache an den Passagier sendet? Könnte ich einen detaillierten Fluss von Ereignissen erhalten, die sich dazwischen ereignen? Apache und Passenger?

Antworten:

0 für die Antwort № 1

config.ruwird geladen, wenn der Rack-Server (in diesem Fall Passagier) gestartet wird. Was genau während einer Anfrage passiert, hängt wirklich von Ihrem Setup ab. Der grundlegende Ablauf ist jedoch so:

Wenn eine Anforderung in Apache eingeht, wird zuerst versucht, die Datei über den Server bereitzustellen public/ Verzeichnis Ihrer App. Wenn dies fehlschlägt, leitet der Passagier die Anfrage an Ihre App weiter, die dann die Anfrage verarbeitet und die Antwort an den Passagier zurückgibt. Der Passagier wiederum gibt die Antwort an Apache zurück, der sie an den Kunden weiterleitet.