Kako namestiti LEMP na strežnik Debian 10


Sklop »LEMP« je mešanica odprtokodne programske opreme, ki je običajno nameščena na strežniku Linux za uvajanje dinamičnih aplikacij. Ta izraz je kratica, ki predstavlja operacijski sistem Linux, spletni strežnik Nginx, bazo podatkov MariaDB in programiranje PHP.

Čeprav ta niz\"LEMP" običajno vsebuje MySQL kot sistem za upravljanje z bazami podatkov, nekatere distribucije Linuxa, kot je Debian, uporabljajo MariaDB kot nadomestno zamenjavo za MySQL.

  1. Kako namestiti strežnik Debian 10 (Buster) Minimal

V tem članku vam bomo razložili, kako namestiti in nastaviti okolje LEMP na strežniku Debian 10 z uporabo MariaDB kot platforme za upravljanje baz podatkov.

Namestitev spletnega strežnika Nginx na Debian 10

Nginx je odprtokodna in večplastna, lahka, a zmogljiva in enostavna za konfiguracijo HTTP in povratnega proxy strežnika, poštnega proxy strežnika in generičnega TCP/UDP strežnika proxy z modularno arhitekturo.

Nekatere njegove osnovne funkcije vključujejo strežbo statičnih in indeksnih datotek; pospešena podpora s predpomnjenjem strežnikov FastCGI, uwsgi, SCGI in Memcached, uravnoteženje obremenitve in odpornost na napake, podpora SSL in TLS SNI, podpora za HTTP/2 s tehtano in na podlagi odvisnosti temelječo prioriteto.

Za namestitev paketa Nginx uporabite Debianov upravitelj paketov apt, kot je prikazano.

# apt update 
# apt install nginx 

Ko je namestitev Nginxa končana, bo namestitveni program aktiviral systemd, da za zdaj zažene storitev Nginx, in omogočil samodejni zagon ob zagonu sistema. Stanje Nginxa lahko preverite z naslednjim ukazom systemctl.

# systemctl status nginx

Naslednje pomembne ukaze lahko uporabite tudi za zagon, ponovni zagon, zaustavitev in ponovno nalaganje konfiguracije storitve Nginx pod systemd.

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

Nato, če imate nameščen požarni zid UFW (običajno je privzeto onemogočen), morate odpreti vrata 80 (HTTP) in 443 (HTTPS), da dovolite dohodni promet na Nginxu.

# ufw allow 80
# ufw allow 443
# ufw status

Na tej točki morate preizkusiti, ali je Nginx pravilno nameščen, ali deluje in ali lahko prikazuje spletne strani. Če želite to narediti, odprite spletni brskalnik in ga usmerite na naslednji URL za dostop do spletne strani Nginx Debian Default.

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

Namestitev MariaDB na Debian 10

Nato morate namestiti sistem zbirke podatkov, da boste lahko shranjevali in upravljali podatke za vaše spletno mesto ali spletno aplikacijo. Debian 10 privzeto podpira MariaDB kot nadomestno nadomestilo za MySQL.

Če želite namestiti MariaDB, zaženite naslednji ukaz.

# apt install mariadb-server

Nato preverite stanje storitve MariaDB, saj jo sistemd samodejno zažene in omogoči zagon ob zagonu sistema, da zagotovite, da deluje in deluje, uporabite naslednji ukaz.

# systemctl status mariadb

Za upravljanje (zagon, ponovni zagon, zaustavitev in ponovno nalaganje) storitve MariaDB pod sistemom systemd lahko uporabite naslednji ukaz.

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

Nato bo uvajanje MariaDB privzeto negotovo. Zagnati morate skript lupine, ki je priložen paketu, da boste lahko izboljšali varnost baze podatkov.

# mysql_secure_installation

Po zagonu skripta vas bo vodil skozi vrsto naslednjih vprašanj za spreminjanje privzetih nastavitev namestitve MariaDB, kot je prikazano na naslednjem posnetku zaslona.

Namestitev PHP-FPM (Fast Process Manager) na Debian 10

Za razliko od Apacheja in drugih spletnih strežnikov Nginx ne nudi izvorne podpore za PHP, saj uporablja PHP-FPM za obdelavo zahtev za strani PHP. PHP-FPM je alternativni demon FastCGI za PHP, ki spletnemu mestu omogoča obdelavo velikih obremenitev z uporabo delovnih procesov za obdelavo zahtev.

Če želite namestiti PHP-FPM različice 7.3 in modul PHP za komunikacijo s sistemom zbirke podatkov MariaDB/MySQL, zaženite naslednji ukaz.

# apt install php-fpm php-mysqli

Po namestitvi PHP-FPM bo namestitveni program aktiviral systemd, da zaenkrat zažene storitev PHP-FPM in omogoči samodejni zagon ob zagonu sistema. Če želite preveriti, ali je nameščen in deluje, izdajte naslednji ukaz.

# systemctl status php-fpm

Prav tako lahko zaženete, znova zaženete zaustavitev in znova naložite konfiguracijo storitve PHP-FPM v sistemu systemd, kot sledi.

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

Nato morate zaščititi PHP-FPM z nekaj spremembami v konfiguracijski datoteki /etc/php/7.3/fpm/php.ini, kot sledi.

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

Poiščite ; cgi.fix_pathinfo = 1 , da ga razkomentirate tako, da na začetku odstranite znak ; , njegovo vrednost nastavite na 0 . To preprečuje, da bi Nginx dovolil izvajanje datotek, ki niso PHP, kot PHP.

cgi.fix_pathinfo=0

PHP-FPM je privzeto konfiguriran za poslušanje v UNIX soxketu, /run/php/php7.3-fpm.sock, kot je določeno v konfiguracijski datoteki /etc/php/7.3/fpm/pool.d/www.conf. Če želite uporabljati to vtičnico, morate konfigurirati ves strežniški blok (ali navidezne gostitelje), če naj obdelujejo in strežejo strani PHP.

Za preskus lahko uporabite privzeto konfiguracijsko datoteko bloka strežnika Nginx/etc/nginx/sites-available/default.

# vi /etc/nginx/sites-available/default 

Poiščite naslednji razdelek in ga razkomentirajte, da posreduje PHP skripte strežniku FastCGI, kot je prikazano na posnetku zaslona.

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

Nato z naslednjim ukazom preizkusite, ali je konfiguracijska struktura Nginx v redu.

# nginx -t

Če je konfiguracija Nginxa v redu, da uporabite nedavno izvedene spremembe, znova zaženite storitve php7.3-fpm in nginx, kot sledi.

# systemctl restart php7.2-fpm
# systemctl restart nginx

Testiranje obdelave PHP-FPM na Nginxu

Ko konfigurirate PHP-FPM in Nginx za skupno delo, morate preizkusiti, ali lahko dve storitvi obdelata stranki PHP in ju postrežeta. Če želite to narediti, v spletnem DocumentRoot ustvarite preprost PHP skript, kot sledi.

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

Na koncu odprite brskalnik in vnesite naslednji naslov, da si ogledate konfiguracije PHP v sistemu, kot jih generira funkcija phpinfo() .

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

V tem članku smo prikazali, kako namestiti in konfigurirati sklad LEMP v Debianu 10. Če imate kakršna koli vprašanja ali povratne informacije, nas prosimo kontaktirajte in nam sporočite na spodnjem obrazcu za komentar.