Πώς να ρυθμίσετε τις μόνιμες εφαρμογές Node.js στο Ubuntu 16.04

Οι εφαρμογές Node.js είναι δημοφιλείς για την ικανότητά τους να κλιμακώνονται. Η εκτέλεση πολλαπλών ταυτόχρονων διεργασιών σε πολλούς διακομιστές αποφέρει χαμηλότερο λανθάνοντα χρόνο και μεγαλύτερο χρόνο λειτουργίας. Κατά τη διαχείριση πολλών διακομιστών, είναι πιο εύκολο να κάνετε αυτόματη επανεκκίνηση των εφαρμογών Node.js σε περίπτωση σφάλματος. Αυτό το σεμινάριο θα σας δείξει πώς να ρυθμίσετε γρήγορα την επιμονή της εφαρμογής από μια κενή παρουσία του Ubuntu 16.04.

Προαπαιτούμενα

  • Δημιουργήστε μια παρουσία Vultr οποιουδήποτε μεγέθους με το Ubuntu 16.04 LTS x64.
  • Εάν δεν είστε ο χρήστης root, εκτελέστε sudo -sκαι πληκτρολογήστε τον κωδικό πρόσβασής σας. Απαιτείται πρόσβαση ρίζας για την τροποποίηση του αρχείου εκκίνησης, ώστε ο διαχειριστής διεργασιών να ξεκινά κατά την εκκίνηση.
  • Βεβαιωθείτε ότι το Node.js είναι εγκατεστημένο στην παρουσία και ότι η έκδοση του Node.js είναι 8.9.3 LTS ή μεταγενέστερη, η οποία απαιτείται για την ομαλή εκτέλεση του διαχειριστή επιμονής. Χρησιμοποιήστε το node -vγια να ελέγξετε την εγκατεστημένη έκδοση. Εάν το Node.js δεν είναι στη σωστή έκδοση, οι ακόλουθες εντολές θα το εγκαταστήσουν.

Εγκαταστήστε το Node.js.

$ sudo apt-get update
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs

Δημιουργία διαμερίσματος swap

Αυτό το βήμα είναι προαιρετικό, αλλά συνιστάται για την εγκατάσταση. Τα διαμερίσματα Swap είναι τμήματα του σκληρού δίσκου που είναι αφιερωμένα στη συμπλήρωση της μνήμης RAM. Σε μικρότερες περιπτώσεις Vultr, όπως η περίπτωση RAM 512 MB, η δημιουργία ενός διαμερίσματος ανταλλαγής θα ήταν επωφελής για την απόδοση. Για μια αυτοματοποιημένη έκδοση του σεμιναρίου ανταλλαγής, χρησιμοποιήστε τις παρακάτω εντολές.

$ git clone https://github.com/teamtofu/server-tools.git tools
$ bash ./tools/swap.sh

Σε γενικές γραμμές, η χρήση swap δεν θα ήταν απαραίτητη για περιπτώσεις με 4 GB μνήμης RAM ή περισσότερο κατά τη ρύθμιση μόνιμων εφαρμογών, αν και μπορεί να βελτιώσει την απόδοση των εφαρμογών. Η μνήμη RAM αποκρίνεται περισσότερο από την ανταλλαγή, επομένως οι περιπτώσεις με περισσότερη μνήμη RAM θα ​​έχουν καλύτερα αποτελέσματα ανεξάρτητα από την ανταλλαγή.

Εγκαταστήστε το νήμα

Το Yarn είναι ένας εύχρηστος διαχειριστής πακέτων από το Facebook για πακέτα Node.js. Είναι ταχύτερο από το NPM και επίσης ντετερμινιστικό, το οποίο είναι ιδιαίτερα χρήσιμο κατά την ανάπτυξη πολλών διακομιστών.

$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt-get update && sudo apt-get install yarn

Ωστόσο, το NPM μπορεί να χρησιμοποιηθεί αντί για το Yarn και έχει συγκρίσιμες εντολές με όλες αυτές σε αυτό το σεμινάριο.

Εγκαταστήστε την εφαρμογή Node.js

Εάν η εφαρμογή σας φιλοξενείται σε αποθετήριο git, κλωνοποιήστε την και χρησιμοποιήστε το yarn install. Η εφαρμογή σας θα πρέπει να έχει ένα αρχείο καταχώρισης διακομιστή, συνήθως server.jsή index.js, το οποίο θα χρησιμοποιηθεί στα επόμενα βήματα.

Εγκαταστήστε το Process Manager 2

Το Process Manager 2 είναι το πακέτο που θα επανεκκινήσει αυτόματα την εφαρμογή. Το Process Manager 2 είναι πολύ δημοφιλές και χρησιμοποιείται από τη Microsoft, το PayPal και την Intuit, επομένως είναι ασφαλές και αξιόπιστο.

$ yarn global add pm2

Προσθέστε την αίτησή σας ως διαδικασία

Η εφαρμογή θα δαιμονοποιηθεί (εκτελείται στο παρασκήνιο) και θα επανεκκινηθεί αυτόματα με την εντολή start.

$ pm2 start [path to your entry.js] -i max

Εάν θέλετε να εκκινήσετε αυτόματα τον μέγιστο αριθμό διεργασιών, περάστε το -i maxόρισμα. Εάν η μοναδική χρήση αυτής της παρουσίας Vultr είναι η εξυπηρέτηση της εφαρμογής, τότε αυτό συνιστάται. Για περιπτώσεις Vultr με περισσότερες από μία CPU, θα εκκινηθούν πολλαπλές διεργασίες και το Process Manager 2 θα λειτουργεί ως εξισορρόπηση φορτίου για όλες αυτές τις μεμονωμένες διεργασίες.

Αυτόματη εκκίνηση της εφαρμογής σας κατά την εκκίνηση

Μετά την εκκίνηση της εφαρμογής, αποθηκεύστε τη διαμόρφωση της εφαρμογής. Στη συνέχεια, εκτελέστε την εντολή εκκίνησης για αυτόματη εκτέλεση του Process Manager 2 στο παρασκήνιο κατά την εκκίνηση του Ubuntu. Για το Ubuntu 16.04, ο Διαχειριστής Διαδικασιών 2 θα δεσμευτεί στο systemd.

$ pm2 save
$ pm2 startup

Τώρα, εάν η εφαρμογή σας Node.js διακοπεί λόγω σφάλματος, θα γίνει επανεκκίνηση και εάν το Ubuntu διακοπεί για οποιονδήποτε λόγο, η διαδικασία θα επανεκκινήσει αυτόματα με το Ubuntu. Οι διεργασίες μπορούν να επανεκκινηθούν με pm2 gracefulReload allκαι το Process Manager 2 μπορεί να γίνει επανεκκίνηση με pm2 update. Για να σταματήσετε την εκκίνηση του Process Manager 2 κατά την εκκίνηση, εκτελέστε το pm2 unstartup.

Δοκιμές

Δοκιμάστε να πληκτρολογήσετε rebootκαι να ελέγξετε εάν η εφαρμογή σας εμφανίζεται μετά την εκκίνηση του Ubuntu. Εάν η εφαρμογή είναι για τον ιστό και εξυπηρετείται μέσω θύρας 80, τότε curl http://localhost/θα εμφανιστεί το HTML για την αρχική σελίδα. Σε περίπτωση που δεν λειτουργεί, η εντολή pm2 statusθα εμφανίσει τις διεργασίες που εκτελούνται και η εντολή έναρξης μπορεί να εκδοθεί ξανά.

Ανάπτυξη νέων εκδόσεων της εφαρμογής

Εάν η εφαρμογή ενημερωθεί, όπως με το τράβηγμα ενός αποθετηρίου git, τότε πρέπει να εκδοθεί μια εντολή για ενημέρωση των διαδικασιών εφαρμογής που εκτελούνται.

$ pm2 update

Παράδειγμα χρήσης

Το Parse Server , μια δημοφιλής πλατφόρμα ανοιχτού κώδικα ως υπηρεσία, χρησιμεύει ως backend για μια εφαρμογή. Το backend μπορεί να διακοπεί λόγω σφαλμάτων στον κώδικα ή στον όγκο των αιτημάτων, αλλά η εφαρμογή δεν θα αντιμετωπίσει χρόνο διακοπής λειτουργίας επειδή οι άλλοι διακομιστές (ή/και διεργασίες) συνεχίζουν να εκτελούνται και η διαδικασία ανάλυσης διακομιστή επανεκκινείται γρήγορα.

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα