Εγκατάσταση του Node.js
Εγκατάσταση MongoDB
Εγκατάσταση και ρύθμιση του Apache2
Εγκατάσταση του Meteor.js και δημιουργία της βασικής μας εφαρμογής
Ρύθμιση του αντίστροφου διακομιστή μεσολάβησης Apache
Εκτέλεση του ιστότοπου για πρώτη φορά
Ρύθμιση της ιστοσελίδας μας για παραγωγή
Διαχείριση της εφαρμογής μας
Το Meteor.js είναι ένα πλαίσιο JavaScript ανοιχτού κώδικα γραμμένο έχοντας κατά νου το Node.js. Είναι δημοφιλές λόγω της άποψής του για τη δημιουργία εφαρμογών Ιστού σε καθαρή JavaScript. Το Meteor ενσωματώνει υποστήριξη JavaScript front-end που εκτελείται στο πρόγραμμα περιήγησης Ιστού, καθώς και JavaScript back-end, το οποίο θα εκτελείται στον κεντρικό διακομιστή. Ενσωματώνεται πολύ καλά με πλαίσια JavaScript front-end, όπως το React και το Angular.js, καθώς και με MongoDB, μια δημοφιλή βάση δεδομένων NoSQL. Μερικοί σημαντικοί λόγοι για να επιλέξετε το Meteor.js είναι οι εξής:
Το Meteor.js είναι ένα πλαίσιο πλήρους στοίβας. Έτσι, με αυτό, λαμβάνετε όλα όσα θα μπορούσατε ποτέ να χρειαστείτε: Βάση δεδομένων, διεπαφή, υποστήριξη. Το Meteor κάνει καταπληκτική δουλειά να τα συνδέει όλα μαζί.
Ταχύτητα. Το διαισθητικό σύστημα πακέτων της Meteor σάς προσφέρει πολλά εργαλεία που μπορεί να χρειαστείτε για να τελειοποιήσετε την εφαρμογή σας.
Έχει καλή υποστήριξη από το Meteor Developer Group, καθώς και από άλλους προγραμματιστές που το χρησιμοποιούν. Θα μπορείτε εύκολα να καταλάβετε τυχόν προβλήματα που μπορεί να έχετε και να τα επιλύσετε γρήγορα.
Σε αυτό το σεμινάριο, θα επιτύχουμε τους ακόλουθους στόχους στο Ubuntu 16.04:
Εγκαταστήστε Node.jsτον χρόνο εκτέλεσης Javascript.
Εγκαταστήστε Meteor.js.
Εγκαταστήστε MongoDBτην επιλογή της βάσης δεδομένων Meteor.
Εγκαταστήστε Apacheτον αντίστροφο διακομιστή μεσολάβησης της επιλογής μας και ρυθμίστε τον τομέα μας, εάν υπάρχει.
Δοκιμάστε την ιστοσελίδα μας.
Ρυθμίστε την ιστοσελίδα μας για παραγωγή.
Εγκατάσταση του Node.js
Θα χρειαστεί πρώτα να εγκαταστήσετε το Node.js, το οποίο είναι ο διερμηνέας JavaScript και ο πυρήνας του Meteor. Θα μας επιτρέψει να τρέξουμε το Meteor και άλλες εφαρμογές Node.js που μπορεί να έχουμε στο μέλλον. Σε αυτήν την περίπτωση, θα εγκαταστήσουμε το Node.js 8. Για να ξεκινήσετε τη λήψη, απλώς εκτελέστε τα παρακάτω στο τερματικό σας.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Περιμένετε να ολοκληρωθεί η λήψη και η εγκατάσταση.
Εγκατάσταση MongoDB
Στη συνέχεια, θα εγκαταστήσουμε τη βάση δεδομένων μας: MongoDB. Το MongoDB είναι μια δωρεάν βάση δεδομένων εγγράφων NoSQL ανοιχτού κώδικα και η βάση δεδομένων επιλογής του Meteor. Χρησιμοποιεί μια μορφή τύπου JSON για τα έγγραφά του, σε αντίθεση με τους δομημένους πίνακες σε μια παραδοσιακή βάση δεδομένων SQL.
Εισαγάγετε το δημόσιο κλειδί MongoDB που χρησιμοποιείται από το APT(Advanced Packaging Terminal). Αυτό επιτρέπει στην APT να επαληθεύσει το πακέτο. σε αυτήν την περίπτωση, MongoDB.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
Δημιουργήστε το απαραίτητο αρχείο λίστας για το Ubuntu 16.04.
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Ξεκινήστε την εγκατάσταση του MongoDB και περιμένετε να ολοκληρωθεί η εγκατάσταση.
sudo apt update && sudo apt install mongodb-org -y
Ανοίξτε την υπηρεσία systemd για επεξεργασία.
sudo nano /etc/systemd/system/mongodb.service
Αντιγράψτε και επικολλήστε τα παρακάτω για να ολοκληρώσετε την υπηρεσία systemd.
[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
[Install]
WantedBy=multi-user.target
Χρησιμοποιήστε " Control-O" για αποθήκευση και " Control-X" για έξοδο.
Εκτελέστε την υπηρεσία MongoDB systemd πληκτρολογώντας sudo systemctl start mongodbστο τερματικό σας.
Για να βεβαιωθείτε ότι ξεκίνησε με επιτυχία, πληκτρολογήστε τα εξής.
sudo systemctl status mongodb
Θα δείτε ότι η υπηρεσία είναι ενεργή.
Εγκατάσταση και ρύθμιση του Apache2
Στη συνέχεια, θα εγκαταστήσουμε το Apache. Το Apache είναι ένα δωρεάν και ανοιχτού κώδικα λογισμικό διακομιστή ιστού, το οποίο λειτουργεί επίσης ως αντίστροφος διακομιστής μεσολάβησης, κάτι που θα χρησιμοποιήσουμε σε αυτό το σεμινάριο. Απαιτείται ένας αντίστροφος διακομιστής μεσολάβησης για τη σύνδεση της εφαρμογής Meteor.js στο port 80. Το Node.js αποκλείει την εκτέλεση εφαρμογών σε αυτήν τη θύρα χωρίς πρόσβαση root. Το Apache εκτελείται τόσο rootαυτόματα όσο και συνδέεται με το port 80, επομένως δεν θα χρειάζεται να ανησυχούμε για αυτό όταν έρθει η ώρα να τρέξουμε τον ιστότοπό μας.
Εγκαταστήστε το Apache.
sudo apt update && sudo apt install apache2
Προκειμένου να επιτραπεί η πρόσβαση σε εξωτερικές θύρες Ιστού, όπως το port 80, πρέπει να διαμορφώσουμε το τείχος προστασίας μας για Apache. Αυτό το κάνουμε μέσω UFW(Uncomplicated Firewall).
sudo ufw allow 'Apache Full'
Αυτό θα επιτρέψει την πρόσβαση στο Apache Fullπροφίλ " ". Αυτό μας δίνει την εισερχόμενη επισκεψιμότητα στο port 80, στο οποίο θα εκτελείται η εφαρμογή μας.
Εγκατάσταση του Meteor.js και δημιουργία της βασικής μας εφαρμογής
Τώρα, θα εγκαταστήσουμε το διαδικτυακό μας πλαίσιο: Meteor.js. Θα χρησιμοποιήσουμε ένα απλό σενάριο bash που παρέχεται από την ομάδα Meteor για να το εγκαταστήσουμε.
curl https://install.meteor.com/ | sh
Περιμένετε να ολοκληρωθεί η εγκατάσταση. Βασικά αυτό που κάνει το σενάριο είναι ότι κατεβάζει το Meteor από τον επίσημο ιστότοπο και το εγκαθιστά παγκοσμίως, ώστε να μπορούμε να το χρησιμοποιούμε από οπουδήποτε. Μόλις ολοκληρωθεί, μπορούμε να δημιουργήσουμε τον κατάλογο της εφαρμογής μας. Το Meteor έχει ένα εύχρηστο εργαλείο που μπορούμε να χρησιμοποιήσουμε για να το κάνουμε αυτό, που ονομάζεται meteor create. Για να δημιουργήσετε τον κατάλογο της εφαρμογής σας, πληκτρολογήστε τα παρακάτω.
meteor create <projectname>
Ο φάκελος θα δημιουργηθεί με το όνομα που έχει καθοριστεί ( <projectname>).
Ρύθμιση του αντίστροφου διακομιστή μεσολάβησης Apache
Τώρα που έχουμε ρυθμίσει τον κατάλογο εφαρμογών μας, μπορούμε να προχωρήσουμε στη ρύθμιση του αντίστροφου διακομιστή μεσολάβησης. Ο Apache χρησιμοποιεί μια λειτουργική μονάδα που ονομάζεται mod_proxy, η οποία υλοποιεί έναν διακομιστή μεσολάβησης για τον Apache.
sudo apt-get install libapache2-mod-proxy-html libxml2-dev -y
Αυτό θα εγκαταστήσει τη λειτουργική μονάδα και θα την κάνει διαθέσιμη για χρήση του Apache.
Στη συνέχεια, θα χρειαστεί να ενεργοποιήσουμε όλες τις απαραίτητες ενότητες που χρειάζεται ο Apache για εκτέλεση. Θα το κάνουμε αυτό με το a2enmod, ένα εργαλείο που ενεργοποιεί μονάδες για Apache. Αυτές οι λειτουργικές μονάδες θα μας επιτρέψουν να εκμεταλλευτούμε τον αντίστροφο διακομιστή μεσολάβησης. Απλώς πληκτρολογήστε αυτές τις εντολές στο τερματικό σας.
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_ajp
sudo a2enmod rewrite
sudo a2enmod deflate
sudo a2enmod headers
sudo a2enmod proxy_balancer
sudo a2enmod proxy_connect
sudo a2enmod proxy_html
Μετά από αυτό, θα πρέπει να απενεργοποιήσουμε την προεπιλεγμένη τοποθεσία Apache από την εκκίνηση, ώστε να μπορούμε να ξεκινήσουμε τη δική μας. Διαφορετικά, η προεπιλεγμένη εφαρμογή Apache θα αντικαταστήσει τη δική μας. Για να απενεργοποιήσετε τον προεπιλεγμένο ιστότοπο, απλώς εκτελέστε τα παρακάτω.
sudo a2dissite 000-default
Τώρα θα δημιουργήσουμε το εικονικό μας αρχείο κεντρικού υπολογιστή. Για να το κάνετε αυτό, απλώς ανοίξτε ένα πρόγραμμα επεξεργασίας κειμένου.
sudo nano /etc/apache2/sites-available/<projectname>
Αντιγράψτε και επικολλήστε τα παρακάτω.
<VirtualHost *:80>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPreserveHost On
# Servers to proxy the connection, or
# List of application servers Usage
ProxyPass / http://0.0.0.0:3000/
ServerName localhost
</VirtualHost>
VirtualHost *:80: Λέει στον Apache να προσαρτήσει στη θύρα 80, που είναι αυτό που θέλουμε για την εφαρμογή web μας.
ProxyPass: Η διεύθυνση IP του ιστότοπου που θέλετε να προωθήσετε στον αντίστροφο διακομιστή μεσολάβησης. Αυτή θα είναι πιθανότατα η IP του VPS σας
ServerName: Το όνομα του διακομιστή σας (το προεπιλεγμένο όνομα είναι συνήθως localhost).
Μόλις ολοκληρώσετε τη διαμόρφωση των απαραίτητων ρυθμίσεων, χρησιμοποιήστε " Control-O" για αποθήκευση και " Control-X" για έξοδο.
Εκτέλεση του ιστότοπου για πρώτη φορά
Για να ελέγξετε και να βεβαιωθείτε ότι ο ιστότοπος εκτελείται, πληκτρολογήστε τα ακόλουθα στον κατάλογο του έργου.
meteor
Θα δείτε την ακόλουθη έξοδο που δείχνει ότι ο ιστότοπός σας ξεκίνησε με επιτυχία.
=> App running at: http://localhost:3000/
Λάβετε υπόψη ότι το Meteor, από προεπιλογή ακούει στο port 3000.
Ρύθμιση της ιστοσελίδας μας για παραγωγή
Προκειμένου να βεβαιωθούμε ότι η εφαρμογή μας θα παραμείνει σε λειτουργία, θα χρησιμοποιήσουμε μια υπηρεσία systemd. Παρόμοια με αυτό που κάναμε παραπάνω με το MongoDB, αυτή η υπηρεσία συστήματος θα διασφαλίσει ότι ο ιστότοπός μας θα ξεκινάει κάθε φορά που ξεκινά το σύστημά μας και θα παραμένει σε λειτουργία. Θα επανεκκινήσει επίσης την εφαρμογή μας, σε περίπτωση που διακοπεί για οποιονδήποτε λόγο. Για να ρυθμίσετε την υπηρεσία systemd μας, πληκτρολογήστε τα παρακάτω στο τερματικό σας.
sudo nano /etc/systemd/system/<projectname>.service
Εδώ είναι πώς θέλετε να μοιάζει το αρχείο σας.
[Service]
WorkingDirectory=/home/<yourusername>/<projectname>
ExecStart=/usr/local/bin/meteor --production
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=<projectName>
User=<yourusername>
Environment=NODE_ENV=production
Environment=PWD=/home/<yourusername>/<projectname>
Environment=PORT=3000
Environment=HTTP_FORWARDED_COUNT=1
Σημείωση : Μην ξεχάσετε να αντικαταστήσετε projectnameμε το όνομα του έργου και yourusernameμε το όνομα χρήστη του VPS.
Ακολουθούν ορισμένες βασικές γραμμές που πρέπει να έχετε υπόψη σας.
WorkingDirectory: Ο κατάλογος της αίτησής σας.
Restart: Το αν θα γίνει επανεκκίνηση ή όχι η εφαρμογή του σταματά για οποιονδήποτε λόγο.
User: Το όνομα χρήστη σας.
Environment=PWD: Πανομοιότυπο με το WorkingDirectory.
Environment=PORT: Η θύρα στην οποία εκτελείται η εφαρμογή σας. Η προεπιλογή είναι 3000.
Αποθηκεύστε και κλείστε το αρχείο.
Τώρα, θα ενεργοποιήσουμε και θα ξεκινήσουμε την υπηρεσία.
sudo systemctl enable <projectname>.service
Πού <projectname>είναι το όνομα του αρχείου υπηρεσίας που δημιουργήσαμε.
Στη συνέχεια, θα ξεκινήσουμε την υπηρεσία.
sudo systemctl start <projectname>.service
Η αίτησή σας θα ξεκινήσει. Για να επαληθεύσετε ότι έχει ξεκινήσει, απλώς εκτελέστε τα παρακάτω.
sudo systemctl status <projectname>
Θα δείτε ότι είναι ενεργό, επιβεβαιώνοντας ότι η υπηρεσία ξεκίνησε με επιτυχία.
Στη συνέχεια, θα ελέγξουμε την ιστοσελίδα μας. Στο πρόγραμμα περιήγησης ιστού της επιλογής σας, μεταβείτε στη διεύθυνση IP σας.
http://your-server-ip/
Θα δείτε την οθόνη δείγματος Meteor, επιβεβαιώνοντας ότι τα έχετε κάνει όλα σωστά.
Διαχείριση της εφαρμογής μας
Τώρα που ξεκινήσαμε την εφαρμογή μας, θα χρειαστεί να τη διαχειριστούμε.
Επανεκκίνηση της εφαρμογής σας
sudo systemctl restart <projectname>
Διακοπή της εφαρμογής
sudo systemctl stop <projectname>
Προβολή της κατάστασης της εφαρμογής
sudo systemctl status <projectname>
Προβολή των αρχείων καταγραφής
journalctl -u <projectname>
Έχετε πλέον διαμορφώσει με επιτυχία τα MongoDB, Apache και Meteor και δημιουργήσατε έναν διακομιστή ιστού Meteor.js για παραγωγή. Τώρα τα υπόλοιπα είναι στο χέρι σας, να σχεδιάσετε τον ιστότοπό σας στο μπροστινό μέρος και στο πίσω μέρος. Έχετε πρόσβαση στο MongoDB για να αποθηκεύσετε οποιαδήποτε δεδομένα χρειάζεστε και στο Node.js, το οποίο προσφέρει μια ποικιλία λειτουργικών μονάδων που είναι διαθέσιμα μέσω του Node Package Manager ( NPM) για την περαιτέρω ενίσχυση του backend σας. Για περισσότερη τεκμηρίωση, μη διστάσετε να επισκεφθείτε την τοποθεσία Meteor , όπου μπορείτε να μάθετε περαιτέρω πώς να προσαρμόσετε τον ιστότοπό σας σύμφωνα με τις προτιμήσεις σας. Επίσης, μπορείτε να ανατρέξετε στην τεκμηρίωση MongoDB , όταν έχετε να κάνετε με λειτουργίες βάσης δεδομένων.