Πώς να εγκαταστήσετε το LEMP σε διακομιστή Debian 10


Η στοίβα "LEMP" είναι ένα μείγμα λογισμικού ανοιχτού κώδικα που συνήθως εγκαθίσταται σε διακομιστή Linux για την ανάπτυξη δυναμικών εφαρμογών. Αυτός ο όρος είναι ένα αρκτικόλεξο που αντιπροσωπεύει το λειτουργικό σύστημα Linux, τον διακομιστή ιστού Nginx, μια βάση δεδομένων MariaDB και τον προγραμματισμό PHP.

Διαβάστε επίσης: Πώς να εγκαταστήσετε το LAMP στον διακομιστή Debian 10

Αν και αυτή η στοίβα "LEMP " συνήθως περιέχει το MySQL ως σύστημα διαχείρισης βάσης δεδομένων, ορισμένες διανομές Linux όπως το Debian — χρησιμοποιούν MariaDB ως αναπτυσσόμενη αντικατάσταση του MySQL.

Απαιτήσεις

  1. Πώς να εγκαταστήσετε έναν ελάχιστο διακομιστή Debian 10 (Buster).

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

Εγκατάσταση του διακομιστή Web Nginx στο Debian 10

Το Nginx είναι ένας ανοιχτός κώδικας και πολλαπλών πλατφορμών, ελαφρύς αλλά ισχυρός και εύκολος στη διαμόρφωση HTTP και διακομιστή μεσολάβησης ανάστροφου, διακομιστή μεσολάβησης αλληλογραφίας και γενικό διακομιστή μεσολάβησης TCP/UDP διακομιστή, με αρθρωτή αρχιτεκτονική.

Ορισμένα από τα βασικά χαρακτηριστικά του περιλαμβάνουν την εξυπηρέτηση στατικών αρχείων και αρχείων ευρετηρίου. ταχεία υποστήριξη με προσωρινή αποθήκευση διακομιστών FastCGI, uwsgi, SCGI και Memcached, εξισορρόπηση φορτίου και ανοχή σφαλμάτων, SSL και υποστήριξη TLS SNI, υποστήριξη για HTTP/2 με σταθμισμένη και βασισμένη στην εξάρτηση προτεραιοποίηση.

Για να εγκαταστήσετε το πακέτο Nginx, χρησιμοποιήστε τον διαχειριστή πακέτων apt του Debian όπως φαίνεται.

apt update 
apt install nginx 

Μόλις ολοκληρωθεί η εγκατάσταση του Nginx, το πρόγραμμα εγκατάστασης θα ενεργοποιήσει το systemd για να ξεκινήσει την υπηρεσία Nginx προς το παρόν και να ενεργοποιήσει την αυτόματη εκκίνηση κατά την εκκίνηση του συστήματος. Μπορείτε να ελέγξετε την κατάσταση του Nginx χρησιμοποιώντας την ακόλουθη εντολή systemctl.

systemctl status nginx

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

systemctl start nginx
systemctl restart nginx 
systemctl stop nginx
systemctl reload nginx 
systemctl status nginx 

Στη συνέχεια, εάν έχετε το τείχος προστασίας UFW σε λειτουργία (συνήθως είναι απενεργοποιημένο από προεπιλογή), πρέπει να ανοίξετε τις θύρες 80 (HTTP) και 443 (HTTPS) για να επιτρέψετε την εισερχόμενη κυκλοφορία στο Nginx.

ufw allow 80
ufw allow 443
ufw status

Σε αυτό το σημείο, πρέπει να ελέγξετε εάν το Nginx είναι σωστά εγκατεστημένο, εάν εκτελείται και μπορεί να εξυπηρετήσει ιστοσελίδες. Για να το κάνετε αυτό, ανοίξτε ένα πρόγραμμα περιήγησης ιστού και τοποθετήστε το στην ακόλουθη διεύθυνση URL για πρόσβαση στην ιστοσελίδα Nginx Debian Default.

http://SERVER_IP/
OR
http://localhost/

Εγκατάσταση του MariaDB στο Debian 10

Στη συνέχεια, πρέπει να εγκαταστήσετε ένα σύστημα βάσης δεδομένων για να μπορείτε να αποθηκεύετε και να διαχειρίζεστε δεδομένα για τον ιστότοπο ή την εφαρμογή Ιστού σας. Το Debian 10 υποστηρίζει το MariaDB από προεπιλογή, ως αναπτυσσόμενη αντικατάσταση της MySQL.

Για να εγκαταστήσετε το MariaDB, εκτελέστε την ακόλουθη εντολή.

apt install mariadb-server

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

systemctl status mariadb

Για να διαχειριστείτε (έναρξη, επανεκκίνηση, διακοπή και επαναφόρτωση) την υπηρεσία MariaDB στο systemd, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή.

systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
systemctl reload mariadb

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

mysql_secure_installation

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

Εγκατάσταση PHP-FPM (Fast Process Manager) στο Debian 10

Σε αντίθεση με τον Apache και άλλους διακομιστές ιστού, ο Nginx δεν παρέχει εγγενή υποστήριξη για PHP, καθώς χρησιμοποιεί PHP-FPM για να χειριστεί αιτήματα για σελίδες PHP. Το PHP-FPM είναι ένας εναλλακτικός δαίμονας FastCGI για την PHP που επιτρέπει σε έναν ιστότοπο να χειρίζεται υψηλά φορτία, χρησιμοποιώντας διεργασίες εργασίας για τη διαχείριση αιτημάτων.

Για να εγκαταστήσετε το PHP-FPM έκδοση 7.3 και μια λειτουργική μονάδα PHP για επικοινωνία με ένα σύστημα βάσης δεδομένων MariaDB/MySQL, εκτελέστε την ακόλουθη εντολή.

apt install php-fpm php-mysqli

Μετά την εγκατάσταση του PHP-FPM, το πρόγραμμα εγκατάστασης θα ενεργοποιήσει το systemd για να ξεκινήσει την υπηρεσία PHP-FPM προς το παρόν και να ενεργοποιήσει την αυτόματη εκκίνηση κατά την εκκίνηση του συστήματος. Για να ελέγξετε εάν είναι σε λειτουργία και εκτελείται, εκτελέστε την ακόλουθη εντολή.

systemctl status php-fpm

Μπορείτε επίσης να ξεκινήσετε, να επανεκκινήσετε να σταματήσετε και να φορτώσετε ξανά τη διαμόρφωση της υπηρεσίας PHP-FPM στο systemd, ως εξής.

systemctl start php-fpm
systemctl restart php-fpm
systemctl stop php-fpm
systemctl reload php-fpm
systemctl status php-fpm

Στη συνέχεια, πρέπει να ασφαλίσετε το PHP-FPM κάνοντας κάποιες αλλαγές στο αρχείο διαμόρφωσης /etc/php/7.3/fpm/php.ini ως εξής.

vi /etc/php/7.3/fpm/php.ini

Αναζητήστε το ;cgi.fix_pathinfo=1 αποσχολιάστε το αφαιρώντας τον χαρακτήρα ; στην αρχή, ορίστε την τιμή του σε 0. Αυτό εμποδίζει το Nginx να επιτρέπει την εκτέλεση αρχείων που δεν είναι PHP ως PHP.

cgi.fix_pathinfo=0

Από προεπιλογή, το PHP-FPM έχει ρυθμιστεί για ακρόαση σε υποδοχή UNIX, /run/php/php7.3-fpm.sock όπως ορίζεται στο /etc /php/7.3/fpm/pool.d/www.conf αρχείο ρυθμίσεων. Πρέπει να διαμορφώσετε όλο το μπλοκ διακομιστή σας (ή τους εικονικούς κεντρικούς υπολογιστές) για να χρησιμοποιούν αυτήν την υποδοχή, εάν πρόκειται να επεξεργάζονται και να εξυπηρετούν σελίδες PHP.

Μπορείτε να χρησιμοποιήσετε το αρχείο ρύθμισης παραμέτρων του προεπιλεγμένου μπλοκ διακομιστή Nginx /etc/nginx/sites-available/default για να το δοκιμάσετε.

vi /etc/nginx/sites-available/default 

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

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.3-fpm.sock;
}

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

nginx -t

Εάν η διαμόρφωση Nginx είναι OK, για να εφαρμόσετε τις πρόσφατα πραγματοποιηθείσες αλλαγές, επανεκκινήστε τις υπηρεσίες php7.3-fpm και nginx ως εξής.

systemctl restart php7.2-fpm
systemctl restart nginx

Δοκιμή επεξεργασίας PHP-FPM στο Nginx

Αφού ρυθμίσετε τις παραμέτρους του PHP-FPM και του Nginx ώστε να συνεργάζονται, πρέπει να ελέγξετε εάν δύο υπηρεσίες μπορούν να επεξεργαστούν και να εξυπηρετήσουν σελίδες PHP σε πελάτες. Για να το κάνετε αυτό, δημιουργήστε ένα απλό σενάριο PHP στον ιστό σας DocumentRoot ως εξής.

echo “<?php phpinfo(); ?>”  | tee /var/www/html/info.php

Τέλος, ανοίξτε ένα πρόγραμμα περιήγησης και πληκτρολογήστε την ακόλουθη διεύθυνση για να δείτε τις διαμορφώσεις PHP στο σύστημα όπως δημιουργούνται από τη συνάρτηση phpinfo().

http://SERVER_IP/info.php
OR
http://localhost/info.php

συμπέρασμα

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