Ruby on Rails wird am besten auf einem VPS-Server ausgeführt (wenn Sie keine Heroku-Server verwenden möchten) – normalerweise auf einem der verschiedenen «Cloud» -Anbieter gehostet. Dies ist zwar ziemlich normal (und relativ einfach einzurichten), aber was nicht einfach ist, ist die Art und Weise, wie Sie die Software einrichten müssen, die auf den verschiedenen VPS-Boxen ausgeführt wird, die Sie möglicherweise haben.
Die Wahrheit ist, dass der Großteil der Einrichtung eines VPS-Servers für Rails softwarezentriert ist – was bedeutet, dass der zugrunde liegende «VPS» immer noch derselbe ist, unabhängig davon, welches Setup Sie letztendlich verwenden.
Aus diesem Grund wird es als «Stapel» bezeichnet. Sie installieren im Grunde verschiedene «Ebenen» des Systems, vom Betriebssystem über die zugrunde liegenden Bibliotheken bis zum Webserver und GIT usw.
Wenn Sie daran interessiert sind, Ihre Ruby on Rails-Anwendung hochzuladen und auf einem «Cloud» -VPS auszuführen, sollten Sie sich die verschiedenen * Software * -Teile ansehen, die Sie benötigen, um sie zum Laufen zu bringen. Dies kann auf verschiedene Arten geschehen, aber die zugrunde liegenden Grundlagen sind immer noch dieselben. In diesem Tutorial wird erklärt, wie es geht …
Was ist erforderlich, um einen VPS mit Schienenantrieb zum Laufen zu bringen?
Das Wichtigste ist zu wissen, dass dieser «Stack» auf * ALL * -Systemen vorhanden ist – unabhängig vom Betriebssystem oder was auch immer.
Der spezifische Software-Stack, den Sie benötigen, lautet wie folgt:
- Betriebssystem (Linux oder Windows)
- Systembibliotheken (OpenSSL, GIT usw.)
- Sprachdolmetscher (Ruby / PHP usw.)
- Softwarepakete (Webserver usw.)
- GIT Repos + Serverkonfiguration
Der Punkt hier ist, dass das Obige den typischen «Stapel» darstellt, der erforderlich ist, um einen Webserver online zu schalten. Webserver sind ALLE gleich – sie sind standardisierte Systeme, mit denen Benutzer HTML-Seiten im Web «veröffentlichen» können.
Der einzige Unterschied – und dies ist besonders bei Rails relevant – besteht darin, dass Sie eine sogenannte «Anwendungs» -Server-Software benötigen, die die «Verarbeitung» dynamischer Anforderungen darstellt. Für Schienen ist dies normalerweise «Passagier», aber Puma ist auch anwendbar.
Um zu verstehen, wie dies funktioniert, erkläre ich kurz die Schritte, die erforderlich sind, damit alles funktioniert …
Installieren der verschiedenen Softwarepakete
Wie bereits erwähnt, installieren 99% des Auftrags die verschiedenen Pakete.
Dazu lassen Sie den Host den Server entweder über seine webbasierte Oberfläche oder über die API einrichten. Die API ist wirklich nur für Apps von Drittanbietern gedacht, daher wird es wahrscheinlich nicht etwas sein, mit dem Sie sich befassen werden.
Der Punkt ist, dass alles nach dem das ist dir überlassen. So geht’s …
-
SSH-Zugriff
Als erstes müssen Sie SSH-Zugriff auf die Box erhalten. Dies erfolgt normalerweise über den Webdienst des Anbieters (Digital Ocean verfügt beispielsweise über ein «Konsolen» -Applet. Dadurch erhalten Sie direkten Zugriff auf den Server, und Sie sollten sich mit dem Benutzernamen «root» (und dem übermittelten Kennwort) anmelden können Email).
-
Erstellen Sie einen «Bereitstellungs» -Benutzer
Nachdem Sie den ersten SSH-Zugriff erhalten haben, entfernen Sie am besten den Zugriff für den «Root» -Benutzer (um Hacker zu verhindern) und ändern den Port auf einen anderen Wert als 22. Dies bedeutet normalerweise, dass Sie sich den Port merken müssen – aber Sie müssen sicherstellen, dass dass Sie in der Lage sind, die meisten Hacking-Versuche, die Sie erhalten, im Wesentlichen zu «blockieren». Darüber hinaus wird empfohlen, eine Art «Bereitstellungs» -Benutzer zu erstellen. Auf diese Weise können Sie im Grunde den «Root» -Benutzer ersetzen und die Abhängigkeit von den Standardeinstellungen für die Bereitstellung aufheben.
-
Installieren Sie Bibliotheken auf Betriebssystemebene
Nachdem Sie einen «Bereitstellungs» -Benutzer eingerichtet haben, müssen Sie die verschiedenen Bibliotheken auf Betriebssystemebene installieren, die zum Ausführen der verschiedenen Anwendungen erforderlich sind. Diese variieren je nach Art der Anwendung, die Sie verwenden möchten. In der Regel enthalten sie jedoch die meisten der gleichen Pakete.
-
Programmiersprachen installieren
Als Nächstes müssen Sie die verschiedenen Programmiersprachen installieren, die für Ihre Anwendung erforderlich sind. Wenn Sie Ruby on Rails verwenden, ist dies Ruby. Möglicherweise benötigen Sie auch NodeJS, um das System bei der Ausführung der verschiedenen Javascript-Elemente Ihrer Apps zu unterstützen.
-
Installieren Sie die Webserver-Software
Dies ist entweder Apache oder NGinx. Beide werden unter allen Linux-Varianten unterstützt – und Sie sollten in der Lage sein, sie auch unter Windows zum Laufen zu bringen.
-
Installieren Sie die Server-Software «Application»
Nach dem Webserver müssen Sie den «Anwendungs» -Server installieren. Dies ist das Programm, das HTTP-Anforderungen an den Ruby-Interpreter weiterleitet, sodass Ihre Rails-App HTML-Antworten liefern kann. Bei Rails ist dies entweder Phusion Passenger oder Puma. Das Einrichten ist relativ kompliziert, daher müssen Sie nachschlagen, wie es geht.
-
Richten Sie die verschiedenen Domänen in den Serverkonfigurationsdateien ein
Sowohl NGinx als auch Apache betreiben ein «virtuelles Host» -System, mit dem Sie den Server auf verschiedene Domänen / Apps «aufteilen» können. Indem Sie sie in den Konfigurationsdateien festlegen, können Sie genau bestimmen, welche Apps Sie auf Ihren Servern hosten.
-
Richten Sie GIT Repos ein
Schließlich müssen Sie die verschiedenen GIT-Repos einrichten, die Sie möglicherweise für Ihre verschiedenen Apps benötigen. Während Sie ein «Dateimanager» -System – oder sogar FTP – verwenden könnten, um Dateien direkt hochzuladen, ist GIT bei der Verarbeitung versionierter Uploads weitaus effektiver.
Wenn Sie alle oben genannten Schritte ausführen, können Sie Ihre Anwendungen auf Ihren eigenen VPS-Servern bereitstellen. Obwohl dies nicht erschöpfend ist, ist das oben Genannte ziemlich genau das, was Sie brauchen, um alles zum Laufen zu bringen.