Τι είναι εγκατεστημένο στον server Ruby on Rails;
- Ruby 3.2 από το αποθετήριο του Ubuntu 24.04
- Rails 8 (8.1 ή νεότερο) και ένα δοκιμαστικό έργο στο /home/app/uygulama
- Puma στο 127.0.0.1:3000, που τρέχει ως υπηρεσία systemd με όνομα uygulama
- SQLite, με τη βάση παραγωγής στο storage/production.sqlite3
- HTTPS μέσω Caddy με ενεργό force_ssl στο Rails, οπότε το domain είναι προαιρετικό
- Ρυθμίσεις στο /etc/seturack-rails.env: RAILS_ENV=production και ένα δημιουργημένο SECRET_KEY_BASE
- build-essential και βιβλιοθήκες ανάπτυξης για τη μεταγλώττιση gems, μαζί με αρχείο swap 2 GB
- Firewall με ανοιχτές μόνο τις θύρες 22, 80 και 443
Τι μέγεθος χρειάζεστε για το Ruby on Rails;
Η τεκμηρίωση του Rails δεν δίνει τιμή για τη RAM. Η μνήμη εξαρτάται από τον αριθμό διεργασιών και νημάτων του Puma, από τα gems σας και από το assets:precompile. Ως εμπειρικός κανόνας, το 1 GB ταιριάζει σε δοκιμές και μικρά έργα, ενώ τα 2 έως 4 GB είναι καλή αρχή για έργο με πραγματική κίνηση. Το μικρότερο μέγεθος είναι 1 GB RAM, 1 CPU και δίσκος 15 GB, και η εγκατάσταση προσθέτει 2 GB swap για τα builds. Αν δεν φτάνει, κάντε αναβάθμιση από το πάνελ σας και ορίστε τον αριθμό διεργασιών Puma με το WEB_CONCURRENCY.
| Χρήση | Μέγεθος | Τιμή | Επιλογή |
|---|---|---|---|
| Εισαγωγικό | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/μήνα | |
| Μεσαίο | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/μήνα | |
| Ισχυρό | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/μήνα |
Για ποιον είναι;
- Προγραμματιστές που θέλουν να τρέξουν το έργο τους Rails σε δικό τους server
- Όσοι μαθαίνουν Rails ή φτιάχνουν πρωτότυπο ή μικρό προϊόν σε έναν server
- Έργα που ξεκινούν με SQLite και ίσως περάσουν αργότερα σε PostgreSQL
Τι γίνεται μετά την παραγγελία;
- Ορίστε το μέγεθος και ολοκληρώστε την πληρωμή.
- Ο server σας ξεκινά και η Ruby και το Rails εγκαθίστανται μόνα τους. Στις δοκιμές μας σε πραγματικούς servers αυτό χρειάστηκε περίπου 5 λεπτά.
- Ανοίξτε τη Διεύθυνση ιστοτόπου από την καρτέλα Επισκόπηση. Η δοκιμαστική σελίδα δείχνει την έκδοση του Rails.
- Συνδεθείτε μέσω SSH, γράψτε su - app, μεταβείτε στο ~/uygulama και φορτώστε στο shell σας τις ρυθμίσεις από το /etc/seturack-rails.env.
- Αφού αλλάξετε τον κώδικά σας, εκτελέστε bundle install, bin/rails db:migrate και bin/rails assets:precompile.
- Κάντε επανεκκίνηση του Puma με systemctl restart uygulama ως root.
Με κάθε server
- Ημερήσιο αντίγραφο ασφαλείας στην τιμή
- Απεριόριστη κίνηση
- Πλήρης πρόσβαση root
- Αναβαθμίστε ή μειώστε RAM και CPU αργότερα και μεγαλώστε τον δίσκο
- Τοποθεσία: Istanbul · IST-1.
Καλό είναι να ξέρετε
- Το δοκιμαστικό έργο είναι εσκεμμένα απλό: δεν έχει ρύθμιση για Hotwire, Action Cable, Solid Queue ή Kamal. Όταν φέρετε το δικό σας έργο, το bundle install προσθέτει ό,τι αναγράφει το Gemfile σας.
- Η επιβολή του HTTPS βρίσκεται στο config/initializers/seturack.rb. Κρατήστε αυτό το αρχείο όταν φέρετε το δικό σας έργο, ή ορίστε μόνοι σας τα assume_ssl και force_ssl.
- Αν το έργο σας χρησιμοποιεί Rails credentials, προσθέστε το RAILS_MASTER_KEY στο /etc/seturack-rails.env.
- Η εγκατεστημένη Ruby είναι η 3.2. Αν το έργο σας χρειάζεται νεότερη Ruby, εγκαταστήστε την μόνοι σας και ενημερώστε τη γραμμή PATH στο αρχείο υπηρεσίας.
- Η ενημέρωση των gems και του Rails είναι δική σας ευθύνη. Οι ενημερώσεις ασφαλείας του Ubuntu εγκαθίστανται μόνες τους.
Ερωτήσεις και απαντήσεις για το Ruby on Rails
Πώς φέρνω το δικό μου έργο Rails στον server;
Συνδεθείτε μέσω SSH και γράψτε su - app. Μετονομάστε το δοκιμαστικό έργο, κάντε clone τον κώδικά σας στο ~/uygulama με git clone και αντιγράψτε το config/initializers/seturack.rb. Εκτελέστε bundle install, bin/rails db:prepare και bin/rails assets:precompile, και μετά systemctl restart uygulama ως root.
Πώς εκτελώ εντολές Rails στον server;
Γράψτε su - app και cd ~/uygulama. Φορτώστε τις ρυθμίσεις με set -a; . /etc/seturack-rails.env; set +a. Προσθέστε τη διαδρομή των gems με export PATH=$GEM_HOME/bin:$PATH. Μετά από αυτό, οι εντολές bundle, bin/rails console και bin/rails db:migrate χρησιμοποιούν τις ρυθμίσεις παραγωγής σας.
Πόση RAM χρειάζεται το Ruby on Rails;
Το Rails δεν έχει επίσημη τιμή για τη RAM. Ως εμπειρικός κανόνας, το 1 GB ταιριάζει σε δοκιμές και μικρά έργα, και τα 2 έως 4 GB είναι καλή αρχή για πραγματική κίνηση. Η προσθήκη διεργασιών Puma καταναλώνει περισσότερη μνήμη από την προσθήκη νημάτων.
Μπορώ να χρησιμοποιήσω PostgreSQL αντί για SQLite;
Ναι. Εκτελέστε ως root apt install postgresql libpq-dev, προσθέστε το pg στο Gemfile σας, αλλάξτε την ενότητα production του config/database.yml και εκτελέστε bin/rails db:prepare. Μπορείτε επίσης να βάλετε τη βάση δεδομένων σε ξεχωριστό server.
Ποιες εκδόσεις Ruby και Rails είναι εγκατεστημένες;
Παίρνετε Ruby 3.2 από το Ubuntu 24.04 και την τελευταία έκδοση Rails 8 τη στιγμή της εγκατάστασης (8.1 ή νεότερη). Οι οδηγοί του Rails λένε ότι τα Rails 8.0 και 8.1 απαιτούν Ruby 3.2.0 ή νεότερη.
Υπάρχει διεύθυνση health check για το Rails;
Ναι. Η ίδια η διαδρομή /up του Rails είναι ανοιχτή και επιστρέφει 200 όσο τρέχει η εφαρμογή. Εξαιρείται από την ανακατεύθυνση HTTPS, οπότε μπορείτε να στρέψετε το εργαλείο παρακολούθησής σας κατευθείαν εκεί.