Ruby on Rails auf Managed Flex Server

Ruby on Rails ist ein Framework, um Web-Applikationen in Ruby zu entwickeln. Auf Ihrem Managed Flex Server bieten wir Ihnen die neusten Ruby-Versionen an. Diese Versionen werden von uns regelmässig aktualisiert.
In dieser Anleitung wird beschrieben, wie Sie eine Ruby on Rails-Applikation auf Ihrem Managed Flex Server in Betrieb nehmen können.

Anforderungen

Ruby-on-Rails Applikationen können ab Managed Flex Server M in Betrieb genommen werden.

Erstellen einer Rails Applikation

In dieser Anleitung wird eine einfache «Hello World»-Applikation erstellt, welche die Standard-Startseite von Ruby on Rails ausliefert.

Wir empfehlen Ihnen, für Ihre eigenen Applikationen einen Ordner ~/app/ und darin jeweils für jede Ihrer Applikationen einen eigenen Unterordner zu erstellen. So haben Sie jederzeit eine saubere Ordnung und eine klare Übersicht. Für die Rails-Applikation erstellen wir daher den Ordner ~/app/railstest und wechseln in diesen Ordner:

mkdir ~/app/railstest
cd ~/app/railstest

Im neu erstellten Applikations-Ordner ~/app/railstest erstellen Sie nun die benötigte Struktur für Ihre Applikation. In diesem Beispiel wird ein einfaches Rails-Projekt aufgesetzt.

Damit Rails installiert werden kann und später auch wieder gefunden wird, müssen Sie folgende Befehle ausführen:

mkdir -p ~/.gem
echo 'export PATH=$PATH:$(ruby -e "puts Gem.user_dir")/bin' >> ~/.profile
echo 'export GEM_HOME=$(ruby -e "puts Gem.user_dir") ' >> ~/.profile
source ~/.profile

Danach können Sie Rails installieren:

gem install --no-document rails
rails new .

Die Option --no-document deaktiviert die Installation von zusätzlicher Dokumentation und verkürzt dadurch die Installationsdauer.

Integration

Betrieb mit der Custom Service Control

Die Custom Service Control (CSC) kann sich um den Betrieb und das automatische Management Ihrer Applikation, zum Beispiel das Starten und Stoppen bei Wartungsarbeiten an Ihrem Server, kümmern.

Die Konfiguration der Rails helloworld-App in der CSC ist denkbar einfach. Erstellen Sie dazu einen neuen Custom Service für die Rails-Applikation:

hpservices supervisord add railstest

Dabei wird in der Datei ~/.services/supervisord/railstest/service.conf ein Konfigurationsgerüst für den neuen Service erstellt. Für die Rails-Applikation muss das command angepasst sowie die Environment Variable ergänzt werden, ansonsten können Sie alle vorgeschlagenen Werte übernehmen (Strichpunkt am Anfang der Zeile entfernen).

~/.services/supervisord/railstest/service.conf
[program:railstest]
command=%(ENV_HOME)s/app/railstest/bin/rails server -p 8080  ; the program (can take args)
directory=%(ENV_HOME)s/app/railstest/       ; directory to cwd to before exec (default no cwd)
autostart=true                ; start application at supervisord start (default: true)
stopwaitsecs=10               ; max num secs to wait before SIGKILL (default 10)
stdout_logfile=%(ENV_HOME)s/.services/supervisord/railstest/log/default.log
stdout_logfile_maxbytes=1MB   ; filesize at which to rotate logfiles (default ist 50MB)
stdout_logfile_backups=10     ; number of stdout logfile backups (0 means none, default 10)
stderr_logfile=%(ENV_HOME)s/.services/supervisord/railstest/log/default.err
stderr_logfile_maxbytes=1MB   ; filesize at which to rotate logfiles (default is 50MB)
stderr_logfile_backups=10     ; number of stderr logfile backups (0 means none, default 10)
environment=PATH="/usr/local/bin:/usr/bin:/bin:%(ENV_HOME)s/.gem/bin",GEM_HOME="%(ENV_HOME)s/.gem";

Produktiv-Modus

In diesem Beispiel wird der Server im Entwicklungs-Modus gestartet. In Ihrer endgültigen Applikation sollten Sie allerdings den Produktions-Modus verwenden, indem Sie RAILS_ENV=production als Umgebungs-Variable definieren.

Mit supervisorctl update können Sie die neue Konfiguration für Ihre Rails-Applikation aktivieren:

supervisorctl update
railstest: added process group

Achtung: Falls Sie einen Fehler erhalten, muss zuerst einmalig "hpservices supervisord start" ausgeführt werden.

Genaueres zur Bedienung und zu den Möglichkeiten die ihnen mit der CSC zur Verfügung stehen, können sie in der Anleitung zur Custom Service Control entnehmen.

Webserver-Konfiguration

Möchten Sie nun Ihre Applikation über HTTP(s) zugänglich machen, müssen Sie Ihre Website im Hostpoint Control Panel so konfigurieren, dass der Webserver die Anfragen als Proxy an Ihre Applikation weiterleitet.

Erstellen Sie in Ihrem Hostpoint Control Panel eine Website vom Typ «Nginx Proxy auf eigene Applikation»:

RubyOnRails DE

Server-Adresse und Port
Die Proxy-Funktion erwartet, dass Ihre Applikation auf die IPv4-Loopback-Adresse 127.0.0.1 hört und somit müssen Sie nur den Port angeben: 8080

Weiterführende Informationen

 

Konnten Sie finden, was Sie suchen?

Unsere Support-Profis helfen Ihnen gerne persönlich weiter!

 

© 2001 - Hostpoint AG