Was ist auf Ihrem Ruby on Rails-Server installiert?
- Ruby 3.2 aus dem Ubuntu-24.04-Repository
- Rails 8 (8.1 oder neuer) und ein Beispielprojekt in /home/app/uygulama
- Puma auf 127.0.0.1:3000, als systemd-Dienst namens uygulama
- SQLite, mit der Produktionsdatenbank unter storage/production.sqlite3
- HTTPS über Caddy mit eingeschaltetem force_ssl in Rails, eine Domain ist also optional
- Einstellungen in /etc/seturack-rails.env: RAILS_ENV=production und ein generierter SECRET_KEY_BASE
- build-essential und Entwicklungsbibliotheken zum Kompilieren von Gems, dazu eine Swap-Datei mit 2 GB
- Firewall, bei der nur die Ports 22, 80 und 443 offen sind
Welche Größe brauchen Sie für Ruby on Rails?
In der Dokumentation von Rails steht kein RAM-Wert. Der Speicherbedarf hängt von der Zahl der Puma-Prozesse und -Threads, Ihren Gems und assets:precompile ab. Als Faustregel reicht 1 GB für Tests und kleine Projekte, und 2 bis 4 GB sind ein guter Start für ein Projekt mit echtem Traffic. Die kleinste Größe hat 1 GB RAM, 1 CPU und 15 GB Festplatte, und die Installation fügt 2 GB Swap für Builds hinzu. Reicht das nicht, vergrößern Sie im Panel und legen die Zahl der Puma-Prozesse mit WEB_CONCURRENCY fest.
| Einsatz | Größe | Preis | Wählen |
|---|---|---|---|
| Einstieg | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/Monat | |
| Mittel | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/Monat | |
| Leistungsstark | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/Monat |
Für wen ist es gedacht?
- Entwickler, die ihr Rails-Projekt auf einem eigenen Server betreiben möchten
- Alle, die Rails lernen oder einen Prototyp oder ein kleines Produkt auf einem Server bauen
- Projekte, die mit SQLite beginnen und später vielleicht zu PostgreSQL wechseln
Was passiert nach der Bestellung?
- Stellen Sie die Größe ein und schließen Sie Ihre Zahlung ab.
- Ihr Server startet, und Ruby und Rails installieren sich. In unseren Tests auf echten Servern dauerte das etwa 5 Minuten.
- Öffnen Sie auf dem Reiter Übersicht die Website-Adresse. Die Beispielseite zeigt die Rails-Version.
- Verbinden Sie sich per SSH, geben Sie su - app ein, wechseln Sie nach ~/uygulama und laden Sie die Einstellungen aus /etc/seturack-rails.env in Ihre Shell.
- Führen Sie nach Änderungen an Ihrem Code bundle install, bin/rails db:migrate und bin/rails assets:precompile aus.
- Starten Sie Puma als root mit systemctl restart uygulama neu.
Bei jedem Server
- Tägliche Sicherung im Preis inbegriffen
- Unbegrenzter Datenverkehr
- Voller Root-Zugriff
- RAM und CPU später vergrößern oder verkleinern, die Festplatte erweitern
- Standort: Istanbul · IST-1.
Gut zu wissen
- Das Beispielprojekt ist bewusst schlicht: Hotwire, Action Cable, Solid Queue oder Kamal sind nicht eingerichtet. Wenn Sie Ihr eigenes Projekt mitbringen, fügt bundle install hinzu, was Ihr Gemfile aufführt.
- Die HTTPS-Erzwingung steckt in config/initializers/seturack.rb. Behalten Sie diese Datei, wenn Sie Ihr eigenes Projekt mitbringen, oder setzen Sie assume_ssl und force_ssl selbst.
- Wenn Ihr Projekt Rails Credentials nutzt, tragen Sie RAILS_MASTER_KEY in /etc/seturack-rails.env ein.
- Installiert ist Ruby 3.2. Braucht Ihr Projekt ein neueres Ruby, installieren Sie es selbst und passen die PATH-Zeile in der Service-Datei an.
- Gems und Rails aktuell zu halten, liegt in Ihrer Verantwortung. Sicherheitsupdates für Ubuntu installieren sich von selbst.
Fragen und Antworten zu Ruby on Rails
Wie bringe ich mein eigenes Rails-Projekt auf den Server?
Verbinden Sie sich per SSH und geben Sie su - app ein. Benennen Sie das Beispielprojekt um, klonen Sie Ihren Code mit git clone nach ~/uygulama und kopieren Sie config/initializers/seturack.rb hinüber. Führen Sie bundle install, bin/rails db:prepare und bin/rails assets:precompile aus, dann als root systemctl restart uygulama.
Wie führe ich Rails-Befehle auf dem Server aus?
Geben Sie su - app und cd ~/uygulama ein. Laden Sie die Einstellungen mit set -a; . /etc/seturack-rails.env; set +a. Fügen Sie den Gem-Pfad mit export PATH=$GEM_HOME/bin:$PATH hinzu. Danach verwenden bundle, bin/rails console und bin/rails db:migrate Ihre Produktionseinstellungen.
Wie viel RAM braucht Ruby on Rails?
Rails nennt keinen offiziellen RAM-Wert. Als Faustregel reicht 1 GB für Tests und kleine Projekte, und 2 bis 4 GB sind ein guter Start für echten Traffic. Zusätzliche Puma-Prozesse brauchen mehr Speicher als zusätzliche Threads.
Kann ich PostgreSQL statt SQLite verwenden?
Ja. Führen Sie als root apt install postgresql libpq-dev aus, fügen Sie pg zu Ihrem Gemfile hinzu, ändern Sie den Abschnitt production in config/database.yml und führen Sie bin/rails db:prepare aus. Die Datenbank können Sie auch auf einen separaten Server legen.
Welche Ruby- und Rails-Versionen sind installiert?
Sie erhalten Ruby 3.2 aus Ubuntu 24.04 und die zum Installationszeitpunkt neueste Rails-8-Version (8.1 oder neuer). Laut Rails Guides setzen Rails 8.0 und 8.1 Ruby 3.2.0 oder neuer voraus.
Gibt es eine Health-Check-Adresse für Rails?
Ja. Der eigene Pfad /up von Rails ist offen und liefert 200, solange die App läuft. Er ist von der HTTPS-Weiterleitung ausgenommen, Sie können Ihr Monitoring-Werkzeug also direkt darauf richten.