Πίνακας περιεχομένων:

Πώς να δημιουργήσετε έναν ιστότοπο σε ένα Raspberry Pi, με Node.js, Express και MongoDB Μέρος 1: 6 Βήματα
Πώς να δημιουργήσετε έναν ιστότοπο σε ένα Raspberry Pi, με Node.js, Express και MongoDB Μέρος 1: 6 Βήματα

Βίντεο: Πώς να δημιουργήσετε έναν ιστότοπο σε ένα Raspberry Pi, με Node.js, Express και MongoDB Μέρος 1: 6 Βήματα

Βίντεο: Πώς να δημιουργήσετε έναν ιστότοπο σε ένα Raspberry Pi, με Node.js, Express και MongoDB Μέρος 1: 6 Βήματα
Βίντεο: MEGA Chia GPU Farming and Plotting Guide for Linux - Gigahorse Start to Finish - 2023 2024, Ιούλιος
Anonim
Πώς να δημιουργήσετε έναν ιστότοπο σε ένα Raspberry Pi, με Node.js, Express και MongoDB… Μέρος 1
Πώς να δημιουργήσετε έναν ιστότοπο σε ένα Raspberry Pi, με Node.js, Express και MongoDB… Μέρος 1

Καλώς ορίσατε στο ΜΕΡΟΣ 1 του σεμιναρίου εφαρμογής ιστού node.js. Το Μέρος 1 πρόκειται να περάσει από το απαραίτητο λογισμικό που χρησιμοποιείται για την ανάπτυξη εφαρμογών node.js, πώς να χρησιμοποιήσετε την προώθηση θυρών, πώς να δημιουργήσετε μια εφαρμογή χρησιμοποιώντας το Express και πώς να εκτελέσετε την εφαρμογή σας. Το δεύτερο μέρος αυτού του σεμιναρίου θα καλύψει όλο τον κώδικα και τη δομή της πλήρους διαδικτυακής μου εφαρμογής. Αν είστε έτοιμοι για αυτό επισκεφθείτε το εδώ.

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

Αυτή είναι μια περιήγηση σχετικά με τον τρόπο χρήσης των Node.js, Express και Mongodb. να δημιουργήσετε μια ιστοσελίδα.

Ο κωδικός για όλα αυτά είναι εδώ.

Η ιστοσελίδα μου ονομάζεται Διαδίκτυο. Επισκεφθείτε εάν θέλετε μια πιο διαδραστική ματιά σε έναν προσωπικό ιστότοπο.

Ξεκίνησα αυτήν τη σελίδα για να έχω προσωπική παρουσία στο Διαδίκτυο με έργα που έχω κάνει, με συνδέσμους προς τα διδακτικά μου έργα για περισσότερες λεπτομέρειες.

Αυτός ο ιστότοπος φιλοξενείται στο σπίτι μου σε ένα μηδέν pi W.

Βήμα 1: Πράγματα που χρειάζεστε

Πράγματα που χρειάζεστε
Πράγματα που χρειάζεστε

1 φορά. Δεν μπορώ να τονίσω ότι η ανάπτυξη ενός ιστότοπου και η πραγματική κατανόηση των εσωτερικών λειτουργιών είναι μια μακρά διαδικασία. Έχω πτυχίο ηλεκτρολόγου μηχανικού με έμφαση στα μικροηλεκτρονικά και αγάπη για την κωδικοποίηση, και αυτό μου πήρε ακόμα μήνες για να το ολοκληρώσω.

Αυτό το σεμινάριο θα είναι ένα καλό δομικό στοιχείο, αλλά διαβάστε περισσότερα έγγραφα στο διαδίκτυο για να κατανοήσετε κάθε κομμάτι.

2. Raspberry pi - οποιοδήποτε μοντέλο θα κάνει. Επίσης, κάθε υπολογιστής που εκτελεί linux θα κάνει. Στην πραγματικότητα, οποιοσδήποτε υπολογιστής θα κάνει, απλώς μπαίνω σε περισσότερες λεπτομέρειες για το πώς να τον τρέξω σε ένα pi.

3. Σύνδεση στο Διαδίκτυο - εάν σκοπεύετε να το φιλοξενήσετε στον κόσμο. Απαιτείται δρομολογητής ή διακόπτης δικτύου για να διαμορφώσετε την προώθηση θυρών.

4. Λογισμικό - Θα λειτουργήσει οποιαδήποτε πλατφόρμα κωδικοποίησης, Sublime, Webstorm, Notepadd ++, Visual Studios ή οτιδήποτε άλλο. Χρησιμοποίησα κυρίως Webstorm ή Sublime.

Βήμα 2: Προώθηση θυρών στο Raspberry Pi σας

Προώθηση θυρών στο Raspberry Pi σας
Προώθηση θυρών στο Raspberry Pi σας
Προώθηση θυρών στο Raspberry Pi σας
Προώθηση θυρών στο Raspberry Pi σας

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

Το pi μου τρέχει Jessie lite και είναι όλα τερματικά. Το πλεονέκτημα αυτού είναι ότι δεν έχω πολλές διαδικασίες που εκτελούνται στο παρασκήνιο που μπορεί να κάνουν τον διακομιστή μου να λειτουργεί πιο αργά με υψηλή επισκεψιμότητα. Επιτρέψτε μου να δηλώσω τώρα ότι αυτό το σεμινάριο προορίζεται για ιστότοπους χαμηλής επισκεψιμότητας. Οποιοσδήποτε ιστότοπος με υψηλή επισκεψιμότητα θα είναι αργός στο pi και μπορεί να προκαλέσει διακοπή του διακομιστή σας.

Προώθηση λιμένων

Με το pi σας ρυθμισμένο, θα πρέπει να ενεργοποιήσετε την προώθηση θυρών στο δρομολογητή ή τον διακόπτη σας. Για να το κάνετε αυτό, βρείτε τις ρυθμίσεις προώθησης θύρας στο δρομολογητή σας. Κάθε δρομολογητής είναι διαφορετικός, δείχνω εδώ το GUI του Linksys Velop.

Ο ιστότοπός μου έχει ρυθμιστεί στη θύρα 3000, μπορεί να αλλάξει στον πηγαίο κώδικα στο αρχείο app.js ή www.

Έχω επίσης ρυθμίσει τη θύρα 22 για προώθηση, ώστε να μπορώ να SSH στο pi μου, αυτό μπορεί να ρυθμιστεί στις ρυθμίσεις pi. Το SSH είναι ένας τρόπος για να χρησιμοποιήσετε το τερματικό στο pi σας ενώ δεν βρίσκεστε στο ίδιο δίκτυο, αλλά και ενώ δεν χρησιμοποιείτε την έξοδο οθόνης από το pi. Αυτό μου επιτρέπει να ενημερώσω τον ιστότοπό μου από διαφορετικό υπολογιστή και να προωθήσω τις αλλαγές στο pi μου.

Ακολουθήστε τις εικόνες για να ρυθμίσετε την προώθηση θυρών.

Υπηρεσία DNS

Θα χρειαστείτε μια υπηρεσία που συνδέει τη διεύθυνση IP σας με ένα όνομα διεύθυνσης ιστού. Θα μπορείτε να πληκτρολογήσετε την καθολική διεύθυνση IP των δρομολογητών σας, ακολουθούμενη από τον αριθμό θύρας για πρόσβαση στον ιστότοπό σας. Αυτό, ωστόσο, είναι δύσκολο ειδικά αν αλλάξει το παγκόσμιο ip σας. Αυτό που κάνει μια υπηρεσία DNS είναι να παρακολουθεί και να ενημερώνει αυτές τις αλλαγές, έτσι ώστε να συνδέονται το όνομα και το ip του ιστού σας. Επιλέγω να χρησιμοποιήσω μια δωρεάν υπηρεσία μέσω no-ip. Είστε ευπρόσδεκτοι να πληρώσετε για οτιδήποτε θέλετε. Αυτός είναι απλώς ένας δωρεάν τρόπος που γνωρίζω.

www.noip.com/

Βήμα 3: Εγκατάσταση του απαραίτητου λογισμικού στο Pi

Εγκατάσταση του απαραίτητου λογισμικού στο Pi
Εγκατάσταση του απαραίτητου λογισμικού στο Pi
Εγκατάσταση του απαραίτητου λογισμικού στο Pi
Εγκατάσταση του απαραίτητου λογισμικού στο Pi
Εγκατάσταση του απαραίτητου λογισμικού στο Pi
Εγκατάσταση του απαραίτητου λογισμικού στο Pi
Εγκατάσταση του απαραίτητου λογισμικού στο Pi
Εγκατάσταση του απαραίτητου λογισμικού στο Pi

Εάν έχετε κατεβάσει τον κωδικό μου GitHub, δεν θα χρειαστεί να κάνετε τίποτα εκτός από την εκτέλεση μιας απλής εντολής εκκίνησης npm για να εκτελέσετε τον ιστότοπο. Ωστόσο, δεδομένου ότι αυτό είναι ένα σε βάθος σεμινάριο θα εξηγήσω πώς να εγκαταστήσετε όλο το απαραίτητο λογισμικό και πακέτα.

Ενώ βρίσκεστε στον υπολογιστή σας pi ή linux (θα υπάρχουν διαφορετικές εντολές για τη χρήση των Windows), εκτελέστε τις ακόλουθες εντολές.

Τα χωρίζω ως μεμονωμένα βήματα για να είναι πιο εύκολο να ακολουθήσω.

1. Εγκαταστήστε τα node.js και npm

Το Node.js είναι βασικά το σενάριο java που δημιουργεί τον διακομιστή. Το NPM είναι διαχειριστής πακέτων κόμβων και χειρίζεται όλα τα μέσα που χρειάζονται με το node.js.

Εκτελέστε τις ακόλουθες εντολές σε μηχάνημα Linux ή Mac για εγκατάσταση.

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

Για λήψη σε παράθυρα, χρησιμοποιήστε το exe που βρίσκεται εδώ.

Αυτός ο σύνδεσμος είναι για βοήθεια linux αν όχι σε raspberry pi.

2. Εγκαταστήστε το MongoDB

Το MongoDB είναι ακριβώς αυτό, μια βάση δεδομένων. Το χρησιμοποιώ για τμήμα σύνδεσης και μετρητή επισκεψιμότητας της ιστοσελίδας μου.

Εκτελέστε τις ακόλουθες εντολές σε μηχάνημα Linux ή Mac για εγκατάσταση.

sudo apt-key adv --keyserver hkp: //keyserver.ubuntu.com: 80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

ηχώ "deb https://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

sudo apt-get ενημέρωση

sudo apt-get install -y mongodb-org

Για λήψη σε παράθυρα, χρησιμοποιήστε το exe που βρίσκεται εδώ.

Αυτός ο σύνδεσμος είναι για βοήθεια linux αν όχι σε raspberry pi.

3. Εγκαταστήστε το Grunt

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

Για Windows, mac ή linux χρησιμοποιήστε την ακόλουθη εντολή.

npm εγκατάσταση -g grunt -cli

4. Εγκαταστήστε το Express

Το Express είναι ένας εύκολος τρόπος για να χρησιμοποιήσετε το πλαίσιο κόμβου js. Θα εγκαταστήσουμε μια γεννήτρια εξπρές. Αυτό δημιουργεί το εύχρηστο πλαίσιο μιας διαδικτυακής εφαρμογής.

Για Windows, mac ή linux χρησιμοποιήστε την ακόλουθη εντολή.

npm εγκατάσταση express -generator -g

Βήμα 4: Δημιουργήστε μια εφαρμογή Express Node.js

Δημιουργήστε μια εφαρμογή Express Node.js
Δημιουργήστε μια εφαρμογή Express Node.js
Δημιουργήστε μια εφαρμογή Express Node.js
Δημιουργήστε μια εφαρμογή Express Node.js

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

Εκτελέστε τις ακόλουθες εντολές σε ένα μηχάνημα Linux ή Mac για να αλλάξετε τον κατάλογο.

sudo cd/home/pi/myapp

Για Windows:

cd C: / Users / pi / Desktop / myapp

Χρησιμοποιήστε τη γεννήτρια express για να δημιουργήσετε το πλαίσιο κόμβου js που απαιτείται.

express nameofmyapp

Αυτό θα δημιουργήσει ένα γυμνό έργο express node.js, μπορείτε να επεξεργαστείτε τα χαρακτηριστικά του κατά τη διάρκεια αυτού του βήματος βρίσκοντας διαφορετικές εντολές όπως φαίνεται παρακάτω χρησιμοποιώντας την εντολή -h. Or μπορείτε να επεξεργαστείτε με μη αυτόματο τρόπο το δημιουργημένο πρότυπο, όπως έχω. Θα το συζητήσω λεπτομερέστερα στο μέρος 2. Μπορείτε να προσθέσετε άλλες μεταβλητές σε αυτόν τον κώδικα για να αλλάξετε ρυθμίσεις στην εφαρμογή σας, όπως η χρήση html, τιμονιού, νεφρίτη και άλλων. Για αυτό εκτελέστε την εντολή:

εκφράζω -η

Συνεχίστε να ρυθμίζετε την εφαρμογή ιστού node.js εκτελώντας τις ακόλουθες εντολές:

cd nameofmyapp

npm εγκατάσταση

Αυτό εγκαθιστά όλα τα απαραίτητα πακέτα που θα χρειαστεί να εκτελέσει η εφαρμογή σας node.js και περισσότερα που είναι διαθέσιμα για χρήση.

Σε αυτό το παράδειγμα, η διαδρομή αρχείου για την εφαρμογή θα είναι:

/home/pi/myapp/nameofmyapp

Αυτό συμβαίνει επειδή η γεννήτρια express δημιουργεί ένα αρχείο με βάση τη συμβολοσειρά που τοποθετείτε μετά από αυτό. Εάν βρίσκεστε ήδη στον επιθυμητό κατάλογο, χρησιμοποιήστε το express.

Βήμα 5: Εκτελέστε την εφαρμογή Ιστού σας

Εκτελέστε την εφαρμογή Ιστού σας
Εκτελέστε την εφαρμογή Ιστού σας
Εκτελέστε την εφαρμογή Ιστού σας
Εκτελέστε την εφαρμογή Ιστού σας

Για να εκτελέσετε την εφαρμογή ιστού node.js, εκτελέστε την εντολή:

npm έναρξη

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

npm εγκατάσταση -g nodemon

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

Βήμα 6: Πίστωση

Δεν είναι πραγματικά ένα βήμα, αλλά θέλω να απαριθμήσω τις πηγές και την έμπνευσή μου για αυτό το σεμινάριο.

Αυτό το Github ReadMe γράφτηκε από έναν καλό φίλο ενώ εργάζονταν στο ανώτερο σχεδιαστικό μας έργο και χρησίμευσε για πολλή έμπνευση για τον τρόπο δημιουργίας του ιστότοπού μου.

github.com/SDP-DT04/Web-Application/blob/m…

Αυτό το σεμινάριο ήταν ένα χρήσιμο εργαλείο στη διαδικασία δημιουργίας μιας διαδικτυακής εφαρμογής.

kroltech.com/2013/12/29/boilerplate-web-app…

Για περισσότερες πληροφορίες σχετικά με έναν ιστότοπο node.js, επισκεφθείτε το Μέρος 2.

Συνιστάται: