Τι είναι εγκατεστημένο στον server Node.js;
- Node.js 26 LTS και npm από το αποθετήριο NodeSource
- PM2 7, που κρατά την εφαρμογή σας σε λειτουργία και την επαναφέρει μετά από επανεκκίνηση
- Caddy ως reverse proxy: παίρνει δικό του πιστοποιητικό HTTPS και ο ιστότοπος ανοίγει σε διεύθυνση sslip.io βασισμένη στην IP σας
- Χρήστης app χωρίς ειδικά δικαιώματα και φάκελος project /home/app/uygulama
- Ένα δείγμα server.js που ακούει στο 127.0.0.1:3000
- git, ώστε να φέρνετε τον κώδικά σας
- Firewall με ανοιχτές τις θύρες 22, 80 και 443, ενώ η θύρα 3000 της εφαρμογής σας μένει εσωτερική
Τι μέγεθος χρειάζεστε για το Node.js;
Το Node.js δεν έχει επίσημη τιμή RAM. Ως εμπειρικός κανόνας, τα 1 GB δουλεύουν ως αρχή για ένα API ή μια μικρή εφαρμογή Express, τα 2 GB είναι πιο άνετα όταν υπάρχουν npm install και βήμα build, και τα 4 GB ταιριάζουν σε μεγάλο build front end. Αυτή η εγκατάσταση δεν προσθέτει swap, οπότε ένα build σταματά όταν τελειώσει η μνήμη. Όταν προσθέτετε πυρήνες CPU, το pm2 start server.js -i max τρέχει μία διεργασία ανά πυρήνα. Αλλάζετε το μέγεθος από το πάνελ σας και τα δεδομένα και η διεύθυνση IP παραμένουν ίδια.
| Χρήση | Μέγεθος | Τιμή | Επιλογή |
|---|---|---|---|
| Εισαγωγικό | 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/μήνα |
Για ποιον είναι;
- Προγραμματιστές που γράφουν API με Express, Fastify ή NestJS
- Εφαρμογές που χρησιμοποιούν WebSockets, τα οποία το Caddy περνά στη διεργασία σας
- Bots, queue workers και προγραμματισμένες εργασίες που πρέπει να τρέχουν συνεχώς
- Όσοι προτιμούν να τρέχουν μόνοι τους έναν απλό server παρά να εξαρτώνται από πλατφόρμα deployment
- Projects με χρήστες στην Τουρκία που θέλουν το API τους στην Κωνσταντινούπολη
Τι γίνεται μετά την παραγγελία;
- Ορίστε το μέγεθος και ολοκληρώστε την πληρωμή.
- Ο server σας ξεκινά και το Node.js εγκαθίσταται μόνο του. Στις δοκιμές μας σε πραγματικούς servers αυτό κράτησε περίπου 3 λεπτά.
- Στην καρτέλα Επισκόπηση του πάνελ σας, ανοίξτε τον σύνδεσμο Διεύθυνση ιστοτόπου. Η σελίδα-δείγμα δείχνει την έκδοση του Node.js.
- Συνδεθείτε μέσω SSH, εκτελέστε su - app και πηγαίνετε στον φάκελο με cd ~/uygulama. Διαγράψτε το δείγμα server.js και φέρτε τον κώδικά σας με git clone.
- Εκτελέστε npm install, μετά pm2 delete uygulama, pm2 start server.js --name uygulama με το δικό σας αρχείο εισόδου, και pm2 save.
- Κάντε την εφαρμογή σας να ακούει στη θύρα 3000. Το Caddy προωθεί εκεί τα εισερχόμενα αιτήματα HTTPS.
Με κάθε server
- Ημερήσιο αντίγραφο ασφαλείας στην τιμή
- Απεριόριστη κίνηση
- Πλήρης πρόσβαση root
- Αναβαθμίστε ή μειώστε RAM και CPU αργότερα και μεγαλώστε τον δίσκο
- Τοποθεσία: Istanbul · IST-1.
Καλό είναι να ξέρετε
- Αν η εφαρμογή σας ακούει σε άλλη θύρα, αλλάξτε τη γραμμή reverse_proxy στο /etc/caddy/Caddyfile και εκτελέστε ως root systemctl reload caddy.
- Χωρίς pm2 save, η νέα λίστα διεργασιών δεν αποθηκεύεται και η παλιά λίστα επιστρέφει μετά από επανεκκίνηση.
- Τα εργαλεία build δεν περιλαμβάνονται. Για πακέτα που κάνουν compile native modules, εκτελέστε ως root apt install build-essential.
- Δεν είναι εγκατεστημένη βάση δεδομένων. Συνδέστε την εφαρμογή σας σε ξεχωριστό server βάσης ή εγκαταστήστε μία εδώ μόνοι σας.
- Το Node.js μένει στη major έκδοση 26. Τα patches έρχονται μέσω apt, αλλά το apt upgrade και η μετάβαση σε νέα major έκδοση είναι δική σας απόφαση.
- Αν δεν μπορεί να εκδοθεί πιστοποιητικό, ο ιστότοπος ανοίγει μέσω http στη διεύθυνση IP σας.
Ερωτήσεις και απαντήσεις για το Node.js
Πώς κάνω deploy μια εφαρμογή Node.js σε VPS;
Συνδεθείτε μέσω SSH, εκτελέστε su - app και φέρτε τον κώδικά σας στο ~/uygulama με git clone. Εκτελέστε npm install, ξεκινήστε την εφαρμογή με pm2 start και αποθηκεύστε την με pm2 save. Αν ακούει στη θύρα 3000, ανοίγει στη διεύθυνσή σας HTTPS.
Πόση RAM χρειάζεται ένα Node.js hosting;
Το Node.js δεν έχει επίσημη τιμή RAM. Ως εμπειρικός κανόνας, τα 1 GB είναι καλή αρχή για μικρό API, τα 2 GB για project με βήμα build και τα 4 GB για μεγάλο build front end. Αν δεν φτάνουν, κάνετε αναβάθμιση από το πάνελ σας.
Θα επιστρέψει η εφαρμογή μου μετά από επανεκκίνηση του server;
Ναι. Το PM2 ξεκινά με την εκκίνηση μέσω υπηρεσίας systemd με όνομα pm2-app και επαναφέρει τις διεργασίες που αποθηκεύσατε με pm2 save. Αφού ξεκινήσετε νέα εφαρμογή, θυμηθείτε να εκτελέσετε pm2 save.
Μπορώ να τρέξω Next.js ή Express;
Ναι, δουλεύει κάθε εφαρμογή Node.js που ακούει στη θύρα 3000. Για Next.js, εκτελέστε npm run build και μετά pm2 start npm --name uygulama -- start. Τα builds χρειάζονται συνήθως περισσότερη μνήμη από την εφαρμογή που τρέχει, γι' αυτό κάντε πρώτα αναβάθμιση για μεγάλο project.
Πώς συνδέω το δικό μου domain με server Node.js;
Στρέψτε την εγγραφή A του domain σας στη διεύθυνση IP του server σας. Αντικαταστήστε παντού το παλιό όνομα στο /etc/caddy/Caddyfile με το domain σας και εκτελέστε ως root systemctl reload caddy. Το Caddy παίρνει και ανανεώνει μόνο του το πιστοποιητικό.
Μπορώ να χρησιμοποιήσω άλλη έκδοση Node.js;
Ναι, αφού έχετε root. Η εγκατεστημένη είναι η έκδοση 26 LTS. Για άλλη έκδοση, εγκαταστήστε το nvm για τον χρήστη app και δείξτε στο PM2 το δυαδικό node εκείνης της έκδοσης με την επιλογή --interpreter.