La pila LEMP, que significa Linux (el sistema operativo), Nginx (el servidor web), MariaDB/MySQL (la base de datos) y PHP (el lenguaje de programación), es la plataforma perfecta para alojar aplicaciones y sitios web dinámicos de tráfico intensivo.
En esta publicación, veremos cómo instalar LEMP Stack en Debian 11.
Requisitos
Para instalar la pila LEMP en Debian 11, debe tener privilegios de sudo en el sistema.
Instalar la pila LEMP
Instalar Linux
Siga la instalación paso a paso de Debian 11 o actualice Debian 10 "Buster" a Debian 11 "Bullseye".
Continúe con la instalación de AMP (Nginx v1.20, PHP-FPM v7.4, MariaDB v10.5) en Debian 11.
Instalar Nginx
Nginx es un servidor web gratuito de código abierto que proporciona HTTP, proxy inverso, almacenamiento en caché y funcionalidad de equilibrio de carga. Es una excelente alternativa a Apache y es fácil de configurar.
Instale los siguientes paquetes.
sudo apt update sudo apt install -y curl gnupg2 ca-certificates lsb-release
Descargue la clave de firma del repositorio de Nginx y agréguela al sistema.
curl -fsSL http://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-keyring.gpg
Agregue el repositorio Nginx al sistema.
echo "deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Instale el paquete Nginx usando el siguiente comando.
sudo apt update sudo apt install -y nginx
Inicie el servicio Nginx después de la instalación.
sudo systemctl start nginx
Abra un navegador web y visite la siguiente URL.
http://tu-dirección-ipObtendrá la página de bienvenida que confirma que Nginx se instaló correctamente y está funcionando.
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042711043547.png)
La raíz de documentos predeterminada de Nginx en Debian 11 es /usr/share/nginx/html/. Los archivos de configuración se encuentran en el directorio /etc/nginx/.
Instalar MariaDB
MariaDB es un reemplazo directo para MySQL que admite todas las características estándar de MySQL. Configuraremos MariaDB como parte de una pila LEMP (Linux, Nginx, MariaDB/MySQL, PHP) en nuestra instalación.
Instale el servidor MariaDB v10.5 desde el repositorio de Debian.
Al momento de escribir este artículo, MariaDB v10.6 está disponible en el repositorio oficial de MariaDB. Si lo desea, puede instalar MariaDB v10.6 en Debian 11 O instale MySQL 8.0 / 5.7 en lugar de MariaDB.sudo apt install -y mariadb-server mariadb-client
El servicio MariaDB debería estar funcionando en este momento. Primero, verifique el estado del servicio MariaDB usando el siguiente comando.
sudo systemctl status mariadb
A continuación, haga que el servidor MariaDB sea seguro ejecutando el comando mysql_secure_installation.
Instalar PHP
PHP FastCGI Process Manager (FPM) es una implementación alternativa de PHP FastCGI con características adicionales útiles para sitios más grandes y concurridos. Puede manejar muchas más solicitudes por segundo que otras implementaciones de PHP FastCGI.
Instale el paquete php-fpm y la extensión PHP MySQL.
Debian 11 viene con PHP v7.4. Sin embargo, puede instalar PHP 8.0 en Debian 11 desde el repositorio de SURY.sudo apt install -y php-fpm php-mysql php-cli
Edite el archivo de configuración.
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
Cambie la propiedad y el grupo de www-data a nginx para socket Unix.
listen.owner = nginx listen.group = nginx
Crear servidor virtual
Ahora, cree un host virtual en el servidor Nginx para los siguientes detalles para probar la pila LEMP.
Nombre del servidor :sitio.itzgeek.local
Raíz del documento :/usr/share/nginx/html/site.itzgeek.local
Cree un archivo de configuración de host virtual site.itzgeek.local.conf en el directorio /etc/nginx/conf.d/.
sudo nano /etc/nginx/conf.d/site.itzgeek.local.conf
Agrega el siguiente contenido.
server { server_name site.itzgeek.local; root /usr/share/nginx/html/site.itzgeek.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/site.itzgeek.local$fastcgi_script_name; } }
Cree el directorio raíz del documento para el host virtual.
sudo mkdir /usr/share/nginx/html/site.itzgeek.local
Coloque un archivo PHP en la raíz del documento.
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/site.itzgeek.local/index.php
Reinicie los servicios Nginx y PHP-FPM.
sudo systemctl restart nginx sudo systemctl restart php7.4-fpm
Pila LEMP de prueba
Primero, cree una entrada de host para su dominio (site.itzgeek.local ) en el archivo /etc/hosts para probar la pila LEMP localmente. Luego, abra su navegador web y escriba su nombre de dominio en la dirección web.
http://sitio.itzgeek.localLa página se verá como a continuación:
Como puede ver en la captura de pantalla, PHP funciona a través de FPM/FastCGI (API del servidor).
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042711043515.png)
Desplácese hacia abajo en la página para ver la compatibilidad de PHP con MySQL, XML y otras extensiones.
Conclusión
Espero que esta publicación lo haya ayudado a instalar la pila LEMP en Debian 11. Además, puede instalar phpMyAdmin para administrar MariaDB a través de la interfaz web.