Cum se instalează LEMP (Linux, Nginx, MariaDB, PHP-FPM) pe Debian 9 Stretch


Deoarece Debian alimentează un procent mare de servere web din întreaga lume, în acest articol vom explica cum să instalați LEMP (Linux + Nginx + MariaDB + PHP-FPM) pe Debian 9 Stretch ca alternativă la LAMP (utilizați acest ghid pentru instalați LAMP pe Debian 9).

În plus, vom arăta cum să efectuați o configurație minimă Nginx/PHP-FPM, astfel încât chiar și noii administratori de sistem să poată configura servere web noi pentru a configura pagini dinamice.

Pentru a face acest lucru, vom folosi actualizările recente ale depozitelor oficiale ale distribuției. Se presupune că ați instalat Debian 9 pe un bare metal, mașină virtuală sau VPS sau ați făcut upgrade de la Jessie.

Instalarea LEMP în Debian 9 Stretch

Poate vă întrebați de ce am menționat PHP-FPM în loc de PHP ca parte a stivei LEMP. Spre deosebire de alte servere web, Nginx nu oferă suport nativ pentru PHP.

Din acest motiv,PHP-FPM (Fast Process Manager) este folosit pentru a gestiona solicitările pentru pagini PHP. Puteți afla mai multe despre PHP-FPM pe site-ul oficial PHP.

Versiunea implicită furnizată în depozitele Debian php7.0-fpm. După cum probabil puteți ghici pe baza numelui pachetului, această versiune poate gestiona chiar și solicitări către pagini, inclusiv cod PHP 7.

NOTĂ: dacă Apache a fost instalat anterior în aceeași casetă, asigurați-vă că este oprit și dezactivat înainte de a continua.

Acestea fiind spuse, haideți să instalăm componentele stivei LEMP după cum urmează:

aptitude update 
aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

Când instalarea este completă, să ne asigurăm mai întâi că Nginx și PHP-FPM rulează și sunt activate pentru a porni la pornire:

systemctl status nginx php7.0-fpm

Dacă indică faptul că unul sau ambele servicii nu rulează, atunci procedați.

systemctl start nginx php7.0-fpm
systemctl enable nginx php7.0-fpm

Așa cum este cazul la fiecare instalare MariaDB sau MySQL, este important să rulați mysql_secure_installation pentru a realiza o configurație minimă de securitate și a seta parola pentru contul root al bazei de date.

mysql_secure_installation

Dacă nu știți cum să faceți acest lucru, puteți consulta pasul #4 din Cum se instalează MariaDB 10 pe Debian și Ubuntu.

Configurarea Nginx pentru a utiliza PHP-FPM pe Debian 9

Fișierul principal de configurare Nginx este /etc/nginx/sites-available/default, unde va trebui să facem următoarele modificări în blocul serverului:

  • Asigurați-vă că blocul locație care se ocupă de solicitările PHP este activat, cu excepția celui în care directiva fastcgi_pass indică NIC-ul loopback.
  • Adăugați index.php după directiva index pentru a indica că, dacă este găsit, ar trebui să fie difuzat în mod implicit înainte de index.html sau de alte fișiere.
  • Adăugați directiva server_name care indică adresa IP sau numele de gazdă al serverului dvs. Acesta va fi 192.168.0.35 în cazul nostru.
  • În plus, asigurați-vă că directiva rădăcină indică locația în care vor fi stocate fișierele .php (/var/www/html în mod implicit) .

Când ați terminat, puteți utiliza următoarea comandă pentru a testa fișierul de configurare pentru erori.

nginx -t 

În acest moment, /etc/nginx/sites-available/default ar trebui să arate după cum urmează, unde numerele se referă la configurația care reprezintă lista de mai sus:

grep -Ev '#' /etc/nginx/sites-available/default

Testarea Nginx și PHP-FPM pe Debian 9

Pentru a ne asigura că acum folosim Nginx ca server web, să creăm un fișier numit info.php în interiorul /var/www/html cu urmatoarele continuturi:

<?php
	phpinfo();
?>

Apoi accesați http://192.168.0.35/info.php și verificați partea de sus a paginii unde ar trebui să vedeți acest lucru:

În cele din urmă, să îndreptăm browserul către fișierul booksandauthors.php pe care l-am creat în Stack Install LAMP (Linux, Apache, MariaDB sau MySQL și PHP) pe Debian 9.

După cum puteți vedea în imaginea următoare, acest fișier este acum servit de Nginx:

NOTĂ: dacă observați că Nginx servește fișierele .php ca descărcări în loc să le execute, ștergeți memoria cache a browserului sau încercați un alt browser . În special, dacă utilizați Chrome, poate doriți să testați cu modul incognito.

rezumat

În acest articol am explicat cum să instalați și să configurați Nginx pentru a servi pagini dinamice .php. Este important de reținut că după această configurare inițială există setări care ar trebui luate în considerare pentru a securiza serverul web.

Puteți găsi un rezumat de bază în Ghidul final pentru securizarea, consolidarea și îmbunătățirea performanței serverului web Nginx.

Dacă căutați găzduire virtuală pe Nginx, citiți Cum să configurați gazde virtuale bazate pe nume și pe IP pe NGINX.

Ca întotdeauna, nu ezitați să ne anunțați dacă aveți întrebări sau comentarii despre acest articol.