Com instal·lar LEMP (Linux, Nginx, MariaDB, PHP-FPM) a Debian 9 Stretch


Com que Debian alimenta un gran percentatge de servidors web a tot el món, en aquest article explicarem com instal·lar la pila LEMP (Linux + Nginx + MariaDB + PHP-FPM) a Debian 9 Stretch com a alternativa a LAMP (utilitza aquesta guia). per instal·lar LAMP a Debian 9).

A més, mostrarem com realitzar una configuració mínima de Nginx/PHP-FPM perquè fins i tot els administradors de sistemes nous puguin configurar servidors web nous per configurar pàgines dinàmiques.

Per fer-ho, aprofitarem les actualitzacions recents dels repositoris oficials de la distribució. Se suposa que has actualitzat de Jessie.

Instal·lant LEMP a Debian 9 Stretch

Potser us preguntareu per què hem esmentat PHP-FPM en lloc de PHP com a part de la pila LEMP. A diferència d'altres servidors web, Nginx no ofereix suport natiu per a PHP.

Per aquest motiu, s'utilitza PHP-FPM (Fast Process Manager) per gestionar les sol·licituds de pàgines PHP. Podeu obtenir més informació sobre PHP-FPM al lloc oficial de PHP.

La versió per defecte proporcionada als repositoris de Debian php7.0-fpm. Com probablement podeu endevinar segons el nom del paquet, aquesta versió fins i tot pot gestionar sol·licituds a pàgines que inclouen codi PHP 7.

NOTA: Si Apache s'ha instal·lat a la mateixa caixa anteriorment, assegureu-vos que estigui aturat i desactivat abans de continuar.

Dit això, instal·lem els components de la pila LEMP de la següent manera:

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

Quan s'hagi completat la instal·lació, primer assegurem-nos que Nginx i PHP-FPM s'executen i estiguin habilitats per iniciar-se a l'arrencada:

# systemctl status nginx php7.0-fpm

Si indica que un o tots dos serveis no s'estan executant, feu-ho.

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

Com passa amb cada instal·lació de MariaDB o MySQL, és important executar mysql_secure_installation per realitzar una configuració de seguretat mínima i establir la contrasenya per al compte root de la base de dades.

# mysql_secure_installation

Si no sabeu com fer-ho, podeu consultar el pas 4 a Com instal·lar MariaDB 10 a Debian i Ubuntu.

Configuració de Nginx per utilitzar PHP-FPM a Debian 9

El fitxer de configuració principal de Nginx és /etc/nginx/sites-available/default, on haurem de fer els canvis següents dins del bloc del servidor:

  • Assegureu-vos que el bloc d'ubicacions que gestiona les sol·licituds PHP estigui habilitat, amb l'excepció d'aquell on la directiva fastcgi_pass apunta a la NIC de loopback.
  • Afegiu index.php després de la directiva index per indicar que, si es troba, s'hauria de publicar de manera predeterminada abans que index.html o altres fitxers.
  • Afegiu la directiva server_name apuntant a l'adreça IP o el nom d'amfitrió del vostre servidor. Aquest serà 192.168.0.35 en el nostre cas.
  • A més, assegureu-vos que la directiva arrel apunta a la ubicació on s'emmagatzemaran els vostres fitxers .php (/var/www/html per defecte).

Quan hàgiu acabat, podeu utilitzar l'ordre següent per provar el fitxer de configuració per detectar errors.

# nginx -t 

En aquest punt, el vostre /etc/nginx/sites-available/default hauria de tenir el següent aspecte on els números es refereixen a la configuració representen la llista anterior:

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

Prova de Nginx i PHP-FPM a Debian 9

Per assegurar-nos que ara estem utilitzant Nginx com a servidor web, creem un fitxer anomenat info.php dins de /var/www/html amb el contingut següent:

<?php
	phpinfo();
?>

A continuació, aneu a http://192.168.0.35/info.php i comproveu la part superior de la pàgina on hauríeu de veure això:

Finalment, apuntem el nostre navegador al fitxer booksandauthors.php que hem creat a la pila d'instal·lar LAMP (Linux, Apache, MariaDB o MySQL i PHP) a Debian 9.

Com podeu veure a la imatge següent, aquest fitxer està sent servit ara per Nginx:

NOTA: Si observeu que Nginx serveix els fitxers .php com a descàrregues en lloc d'executar-los, esborreu la memòria cau del vostre navegador o proveu amb un altre navegador. En particular, si utilitzeu Chrome, potser voldreu provar amb el mode d'incògnit.

En aquest article hem explicat com instal·lar i configurar Nginx per servir pàgines dinàmiques .php. És important tenir en compte que després d'aquesta configuració inicial hi ha configuracions que s'han de tenir en compte per protegir el servidor web.

Podeu trobar un resum bàsic a La guia definitiva per assegurar, endurir i millorar el rendiment del servidor web Nginx.

Si busqueu allotjament virtual a Nginx, llegiu Com configurar els amfitrions virtuals basats en noms i IP a NGINX.

Com sempre, no dubteu a fer-nos saber si teniu preguntes o comentaris sobre aquest article.