Εγκαταστήστε το Plesk στο CentOS 7
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων
Σε αυτό το σεμινάριο, θα μάθουμε πώς να ρυθμίζουμε μια διαδικτυακή εφαρμογή Koa.js για παραγωγή, χρησιμοποιώντας το Node.js. Θα συνδέσουμε επίσης ένα δείγμα τομέα, με έναν αντίστροφο διακομιστή μεσολάβησης, χρησιμοποιώντας το Apache και θα μάθουμε πώς να τον διαχειριζόμαστε με έναν κατάλληλο διαχειριστή διεργασιών. Χωρίς περαιτέρω καθυστέρηση, ας ξεκινήσουμε.
Το Node.js είναι ένα γρήγορο, cross-platform πλαίσιο JavaScript που βασίζεται στη μηχανή V8 του Chrome. Χρησιμοποιείται τόσο σε επιτραπέζιους υπολογιστές όσο και σε εφαρμογές διακομιστή και είναι διάσημο για τον χειρισμό βρόχου συμβάντων ενός νήματος. Το Node.js διαθέτει ένα μητρώο πακέτων που ονομάζεται Node Package Manager (NPM), το οποίο φιλοξενεί πάνω από μισό εκατομμύριο πακέτα. Τα πακέτα (ή λειτουργικές μονάδες) NPM αποτελούν τον βασικό κορμό του Node.js, καθώς είναι κώδικας που βασίζεται στην κοινότητα που μπορεί να είναι χρήσιμος στην εφαρμογή Node.js. Στην εφαρμογή Koa.js, το Node.js είναι το βασικό μέρος της λειτουργίας του.
Το Koa.js είναι ένα μινιμαλιστικό πλαίσιο web, χτισμένο στην πλατφόρμα Node.js. Κατασκευασμένο από την ίδια ομάδα πίσω από το δημοφιλές πλαίσιο Express.js, στόχος του είναι να ελαχιστοποιήσει περαιτέρω το ήδη μινιμαλιστικό πλαίσιο Express.js εξαιρώντας το ενδιάμεσο λογισμικό από τον πυρήνα του. Ένα σημαντικό χαρακτηριστικό του Koa.js είναι το γεγονός ότι δεν υπάρχουν ανακλήσεις. Το Koa.js είναι χτισμένο σε γεννήτριες που βασίζονται σε ES6 και χαρακτηριστικά ES6, όπως το Promises.
Ο Apache είναι ένας δημοφιλής διακομιστής ιστού ανοιχτού κώδικα, που χρησιμοποιείται ως πολύ βασικό σημείο εκκίνησης για διακομιστές Ιστού. Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε τον Apache ως αντίστροφο διακομιστή μεσολάβησης, ο οποίος θα μας επιτρέψει να συνδέσουμε την εφαρμογή μας με ένα δείγμα τομέα. Εάν δεν διαθέτετε τομέα, αυτό το σεμινάριο θα συνεχίσει να λειτουργεί για εσάς, με τη μόνη διαφορά ότι ο ιστότοπος θα εκτελείται στο VPS IP σας, αντί για έναν τομέα.
Όπως με κάθε πλαίσιο Node.js, θα χρειαστεί να εγκαταστήσετε το Node.js στο VPS σας. Για χάρη αυτού του σεμιναρίου, θα υποθέσω ότι έχετε ήδη εγκατεστημένο το Node.js στο σύστημά σας. Εάν όχι, μπορείτε απλώς να ακολουθήσετε τις οδηγίες εδώ .
Θα χρειαστεί να δημιουργήσουμε έναν φάκελο, ο οποίος θα περιέχει τα βασικά αρχεία της εφαρμογής μας.
mkdir site
Μη διστάσετε να αντικαταστήσετε site
με οποιοδήποτε άλλο όνομα θέλετε για τον κατάλογο. Στη συνέχεια, θα χρειαστεί να αρχικοποιήσουμε το αρχείο πακέτου Node.js. Αλλάξτε στον κατάλογο που μόλις δημιουργήσατε, εκτελέστε το npm init
και ολοκληρώστε τις προτροπές. Στο τέλος, θα πρέπει να μοιάζει κάπως έτσι:
{
"name": "site",
"version": "1.0.0",
"description": "Koa.js Site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "yourname",
"license": "ISC"
}
Τώρα που έχουμε ρυθμίσει τον κατάλογό μας, μπορούμε να προχωρήσουμε στην εγκατάσταση του Koa.js. Στον τρέχοντα κατάλογο εργασίας /site
, πληκτρολογήστε τα εξής.
npm install koa
Αυτό θα κατεβάσει τη λειτουργική μονάδα Koa.js από το NPM και θα την εγκαταστήσει στον κατάλογο του έργου μας για μελλοντική χρήση. Στη συνέχεια, θα δημιουργήσουμε το δείγμα του αρχείου εφαρμογής μας που θα περιέχει τον κωδικό της εφαρμογής μας. Για να το κάνετε αυτό, δημιουργήστε ένα index.js
αρχείο.
nano index.js
Μόλις μπείτε στο αρχείο, δημιουργήστε ένα δείγμα εφαρμογής.
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
console.log('Website is live!')
Αποθηκεύστε και κλείστε το αρχείο. CTRL+ X.
Θα θέλουμε να βεβαιωθούμε ότι η εφαρμογή μας εκτελείται σωστά. Για να το ξεκινήσετε, εκτελέστε το node index.js
και θα δείτε Website is live
στην κονσόλα.
Τώρα που γνωρίζουμε ότι ο ιστότοπός μας είναι λειτουργικός, μπορούμε να προχωρήσουμε στην εγκατάσταση του Apache και των εξαρτήσεών του.
sudo apt install -y libapache2-mod-proxy-html libxml2-dev
Για να χρησιμοποιήσουμε τη δυνατότητα αντίστροφου διακομιστή μεσολάβησης που βρίσκεται στο Apache, θα χρειαστεί να ενεργοποιήσουμε τις απαραίτητες λειτουργικές μονάδες.
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
Ορισμένες από αυτές τις λειτουργικές μονάδες μπορεί να έχουν ήδη ενεργοποιηθεί, αλλά είναι πάντα καλό να τις ελέγχετε ξανά.
Τώρα πρέπει να επεξεργαστούμε το προεπιλεγμένο αρχείο ρυθμίσεων για τον Apache.
sudo nano /etc/apache2/sites-enabled/000-default.conf
Εδώ, θα χρειαστεί να προσθέσουμε ένα μπλοκ για την εφαρμογή μας.
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000
ServerName localhost
</VirtualHost>
Αποθηκεύστε το αρχείο, CTRL+ X.
Μπορεί να παρατηρήσετε ότι χρησιμοποιούμε τη θύρα 3000
ως θύρα για τη δική μας ProxyPass
και την ProxyPassReverse
IP. Δεδομένου ότι είναι η ίδια θύρα στην οποία εκτελούμε την εφαρμογή Koa.js, είναι επιτακτική ανάγκη να εισάγουμε τη σωστή θύρα.
Μόλις εφαρμοστούν οι αλλαγές, θα χρειαστεί να επανεκκινήσουμε τον Apache και να επανεκκινήσουμε την εφαρμογή Koa.js.
sudo systemctl restart apache2
Αυτό θα διασφαλίσει ότι το αρχείο διαμόρφωσής μας είναι ενεργό και έτοιμο για λειτουργία όταν ξεκινάμε την εφαρμογή Koa.js. Μόλις γίνει επανεκκίνηση του Apache, μεταβείτε στον κατάλογο του ιστότοπού σας και ξεκινήστε την εφαρμογή Koa.js όπως κάναμε προηγουμένως. Από το πρόγραμμα περιήγησής σας στον ιστό, μεταβείτε στο http://yourdomain
, ή http://yourip:
, και θα δείτε το "Hello World".
Τώρα που καλύψαμε τα βασικά για τη δημιουργία ενός δείγματος εφαρμογής Koa.js, συνειδητοποιούμε ότι σε περιβάλλον παραγωγής, η εκκίνηση της εφαρμογής όπως είμαστε τώρα δεν είναι πρακτική. Ένας διαχειριστής διαδικασίας είναι σίγουρα μια απαίτηση. Εκεί μπαίνει στο παιχνίδι το systemd. Με απλά λόγια, το systemd αποτελείται από λογισμικό που παρέχει δομικά στοιχεία για ένα σύστημα Linux. Παρόμοια με το "init", παρέχει ένα σύστημα για τη διαχείριση των διαδικασιών χρήστη μετά την εκκίνηση του συστήματος. Στην περίπτωση της εφαρμογής μας, το systemd μας επιτρέπει να ξεκινήσουμε αυτόματα τον ιστότοπό μας μετά την επανεκκίνηση του συστήματος, σε περίπτωση που υπάρξει κάποιο συμβάν που διαταράσσει το χρόνο λειτουργίας του συστήματος. Παρέχει επίσης ένα σύνολο εργαλείων που μπορούν να φανούν χρήσιμα κατά τη διαχείριση της εφαρμογής μας. Το καλύτερο μέρος είναι το γεγονός ότι είναι ενσωματωμένο στο Ubuntu 16.04 LTS, επομένως δεν χρειάζεται να εγκαταστήσουμε επιπλέον λογισμικό.
Όλα όσα χρειαζόμαστε για να ξεκινήσουμε την εφαρμογή μας θα περιέχονται σε ένα αρχείο που ονομάζεται service
. Περιέχει λεπτομέρειες σχετικά με την εφαρμογή μας, όπως το όνομα, τον κατάλογο, το περιβάλλον και πολλά άλλα. Για να δημιουργήσετε το αρχείο του συστήματός μας, ανοίξτε ένα πρόγραμμα επεξεργασίας κειμένου.
sudo nano /lib/systemd/system/site.service
Επεξεργαστείτε και αποθηκεύστε το αρχείο έτσι.
[Unit]
Description=desc here
Documentation=https://example.com
After=network.target
[Service]
Environment=NODE_PORT=3000
Type=simple
User=youruser
ExecStart=/usr/bin/node /home/[youruser]/site/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
Αντικαταστήστε youruser
με το όνομα χρήστη του διακομιστή σας. Ακολουθεί μια γρήγορη περιγραφή των σημαντικών πεδίων:
After
- Αυτό ενημερώνει το systemd να περιμένει μέχρι να είναι έτοιμη η διεπαφή δικτύου πριν ξεκινήσει η εφαρμογή μας.Environment
- Εδώ μπορούμε να καθορίσουμε μεταβλητές περιβάλλοντος για την εφαρμογή μας. Η θύρα Node.js μας είναι μία από αυτές.Type
- Αυτό ενημερώνει τη systemd ότι η εφαρμογή μας μπορεί απλώς να ξεκινήσει, χωρίς να διαχωρίζονται τα δικαιώματα χρήστη και άλλα τέτοια.User
- Αυτό λέει στη systemd ότι θέλουμε να εκτελέσουμε την εφαρμογή στον λογαριασμό χρήστη μας, κάτι που συνιστάται. Η εκτέλεση εφαρμογών ως χρήστης root μπορεί να οδηγήσει σε πολλούς συμβιβασμούς στην ασφάλεια.ExecStart
- Ουσιαστικά η εντολή που θα εκτελεί το systemd για να ξεκινήσει η εφαρμογή μας, παρόμοια με το πώς την ξεκινούσαμε χειροκίνητα πριν.Restart
- Λέει στο systemd υπό ποιες συνθήκες να επανεκκινήσει την εφαρμογή μας. Σε αυτήν την περίπτωση, θέλουμε να κάνουμε επανεκκίνηση του ιστότοπού μας σε περίπτωση σφάλματος.Είμαστε πλέον έτοιμοι να ξεκινήσουμε την υπηρεσία systemd μας.
sudo systemctl daemon-reload
Αυτό είναι απαραίτητο κάθε φορά που αλλάζει ένα αρχείο υπηρεσίας systemd προκειμένου το systemd να καταχωρεί τις νέες αλλαγές που έγιναν.
Στη συνέχεια, ξεκινήστε την αίτησή σας.
sudo systemctl start site
Μεταβείτε ξανά στον ιστότοπο στο πρόγραμμα περιήγησής σας, για να επαληθεύσετε ότι όλα λειτουργούν.
stop
- Διακόπτει εντελώς την εφαρμογή.restart
- Διακόπτει την εφαρμογή και την ξεκινά ξανά με μια νέα διαδικασία.enable
- Λέει στη systemd να ξεκινήσει την εφαρμογή κάθε φορά που εκκινείτε τον υπολογιστή σας.status
- Εμφανίζει πληροφορίες σχετικά με την τρέχουσα εφαρμογή, όπως χρόνο λειτουργίας, κατάσταση εφαρμογής και άλλα.Για να χρησιμοποιήσετε οποιαδήποτε από αυτές τις λειτουργίες, εκτελέστε τα ακόλουθα.
systemctl <function> site
Έχουμε δημιουργήσει με επιτυχία μια εφαρμογή Koa.js και μάθαμε πώς να την αντιστρέφουμε μεσολάβηση, καθώς και να τη διαχειριζόμαστε με το systemd. Τώρα είστε έτοιμοι να επεκτείνετε την εφαρμογή σας και να βασιστείτε σε αυτό το παράδειγμα. Εάν θέλετε να μάθετε περισσότερα για το Koa.js και περισσότερα πράγματα με τα οποία μπορείτε να κάνετε, επισκεφτείτε τον ιστότοπό του , για περισσότερες χρήσιμες πληροφορίες. Επιπλέον, εάν θέλετε να μάθετε περισσότερα σχετικά με τον διαχειριστή διεργασιών του systemd, διαβάστε την τεκμηρίωση για αυτόν εδώ . Τέλος, εάν θέλετε να μάθετε περισσότερα για τον αντίστροφο διακομιστή μεσολάβησης του Apache, μη διστάσετε να τον ελέγξετε εδώ .
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων
Εισαγωγή Το Lets Encrypt είναι μια υπηρεσία αρχής έκδοσης πιστοποιητικών που προσφέρει δωρεάν πιστοποιητικά TLS/SSL. Η διαδικασία εγκατάστασης απλοποιείται από το Certbot,
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Τι είναι το Tekkit Classic; Το Tekkit Classic είναι ένα modpack για το παιχνίδι που όλοι γνωρίζουν και αγαπούν. Minecraft. Περιέχει μερικά από τα εδ
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Jekyll είναι μια εξαιρετική εναλλακτική λύση στο WordPress για blogging ή κοινή χρήση περιεχομένου. Δεν απαιτεί βάσεις δεδομένων και είναι πολύ εύκολο
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εάν αγοράσετε έναν διακομιστή Debian, τότε θα πρέπει να έχετε πάντα τις πιο πρόσφατες ενημερώσεις κώδικα και ενημερώσεις, είτε κοιμάστε είτε όχι
Η PHP και τα σχετικά πακέτα είναι τα πιο συχνά χρησιμοποιούμενα στοιχεία κατά την ανάπτυξη ενός διακομιστή web. Σε αυτό το άρθρο, θα μάθουμε πώς να ρυθμίζετε την PHP 7.0 ή την PHP 7.1 o
Το Squid είναι ένα δημοφιλές, δωρεάν πρόγραμμα Linux που σας επιτρέπει να δημιουργήσετε έναν διακομιστή μεσολάβησης web προώθησης. Σε αυτόν τον οδηγό, θα δείτε πώς να εγκαταστήσετε το Squid στο CentOS για να σας μετατρέψει
Εισαγωγή Το Lighttpd είναι ένα πιρούνι του Apache που έχει ως στόχο να είναι πολύ λιγότερο εντάσεως πόρων. Είναι ελαφρύ, εξ ου και το όνομά του, και είναι αρκετά απλό στη χρήση. Εγκατάσταση
1. Virtualmin/Webmin Το Virtualmin είναι ένας ισχυρός και ευέλικτος πίνακας ελέγχου φιλοξενίας ιστοσελίδων για συστήματα Linux και UNIX που βασίζεται στη γνωστή διαδικτυακή βάση ανοιχτού κώδικα
Το Yii είναι ένα πλαίσιο PHP που σας επιτρέπει να αναπτύσσετε εφαρμογές πιο γρήγορα και εύκολα. Η εγκατάσταση του Yii στο Ubuntu είναι απλή, όπως θα μάθετε ακριβώς
Το Screen είναι μια εφαρμογή που επιτρέπει πολλαπλή χρήση περιόδων σύνδεσης τερματικού σε ένα παράθυρο. Αυτό σας επιτρέπει να προσομοιώνετε πολλά παράθυρα τερματικού όπου είναι ma
Αυτό το σεμινάριο εξηγεί πώς να ρυθμίσετε έναν διακομιστή DNS χρησιμοποιώντας Bind9 σε Debian ή Ubuntu. Σε όλο το άρθρο, αντικαταστήστε το your-domain-name.com ανάλογα. Στο ου
Εισαγωγή Το Logrotate είναι ένα βοηθητικό πρόγραμμα Linux που απλοποιεί τη διαχείριση αρχείων καταγραφής. Συνήθως εκτελείται μία φορά την ημέρα μέσω μιας εργασίας cron και διαχειρίζεται τη βάση καταγραφής
Το Icinga2 είναι ένα ισχυρό σύστημα παρακολούθησης και όταν χρησιμοποιείται σε μοντέλο master-client, μπορεί να αντικαταστήσει την ανάγκη για ελέγχους παρακολούθησης που βασίζονται σε NRPE. Ο κύριος-πελάτης
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Red5 είναι ένας διακομιστής πολυμέσων ανοιχτού κώδικα που υλοποιείται σε Java που σας επιτρέπει να εκτελείτε εφαρμογές Flash πολλών χρηστών, όπως η ζωντανή ροή
Σε αυτό το άρθρο, θα δούμε πώς να μεταγλωττίσετε και να εγκαταστήσετε το Nginx mainline από τις επίσημες πηγές του Nginx με τη μονάδα PageSpeed, η οποία σας επιτρέπει να
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Vanilla forum είναι μια εφαρμογή φόρουμ ανοιχτού κώδικα γραμμένη σε PHP. Είναι πλήρως προσαρμόσιμο, εύκολο στη χρήση και υποστηρίζει εξωτερικά
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Το Kanboard είναι ένα δωρεάν και ανοιχτού κώδικα πρόγραμμα λογισμικού διαχείρισης έργων που έχει σχεδιαστεί για να διευκολύνει και να οπτικοποιήσει
Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.
Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.
Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.
Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.
Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…
Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.
Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.
Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.
Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.
Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα