La pila LEMP es un conjunto de software que incluye Linux, Nginx (pronunciado “Engine-X”), MySQL/MariaDB y PHP. Es una alternativa popular a la pila LAMP (que usa Apache en lugar de Nginx) para servidores web debido a su alto rendimiento y eficiencia. En este artículo, te guiaremos paso a paso para configurar la pila LEMP en Debian 12. Este tutorial está diseñado para ser técnico pero accesible para los recién llegados.

Requisitos Previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Un servidor con Debian 12 instalado.
  • Acceso a una cuenta con privilegios de superusuario (root) o acceso a sudo.

Paso 1: Actualizar el Sistema

Es importante asegurarse de que tu sistema esté actualizado. Abre una terminal y ejecuta los siguientes comandos:

sudo apt update
sudo apt upgrade -y

Paso 2: Instalar Nginx

Nginx es un servidor web y proxy inverso de alto rendimiento. Para instalarlo, ejecuta el siguiente comando:

sudo apt install nginx

Después de la instalación, verifica que Nginx esté funcionando:

sudo systemctl start nginx
sudo systemctl enable nginx

Abre tu navegador y navega a http://tu_dominio_o_IP. Deberías ver la página de bienvenida de Nginx.

Paso 3: Instalar MySQL/MariaDB

MariaDB es una bifurcación de MySQL y es la base de datos que usaremos en este tutorial. Para instalar MariaDB, usa el siguiente comando:

sudo apt install mariadb-server mariadb-client

Inicia el servicio de MariaDB y habilítalo para que se inicie al arrancar:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Ejecuta el script de seguridad de MariaDB para mejorar la seguridad de tu instalación:

sudo mysql_secure_installation

Sigue las instrucciones en pantalla para configurar la contraseña de root y eliminar usuarios y bases de datos de prueba.

Paso 4: Instalar PHP

PHP es el lenguaje de programación del lado del servidor que permite generar contenido dinámico. Para instalar PHP junto con algunos módulos necesarios, ejecuta el siguiente comando:

sudo apt install php-fpm php-mysql

Edita el archivo de configuración de PHP para ajustar el comportamiento del demonio PHP-FPM:

sudo nano /etc/php/7.4/fpm/php.ini

Asegúrate de que las siguientes directivas estén configuradas como se muestra a continuación:

cgi.fix_pathinfo=0

Reinicia el servicio PHP-FPM para aplicar los cambios:

sudo systemctl restart php7.4-fpm

Paso 5: Configurar Nginx para Usar PHP

Ahora configuraremos Nginx para que use PHP. Crea un archivo de configuración para tu sitio web:

sudo nano /etc/nginx/sites-available/tu_sitio

Añade la siguiente configuración, ajustando los valores según sea necesario:

server {
    listen 80;
    server_name tu_dominio_o_IP;
    root /var/www/tu_sitio;

    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

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

    location ~ /\.ht {
        deny all;
    }
}

Habilita tu nuevo sitio y reinicia Nginx:

sudo ln -s /etc/nginx/sites-available/tu_sitio /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Paso 6: Probar la Configuración de PHP

Para asegurarte de que PHP está funcionando correctamente, crea un archivo PHP en el directorio raíz de tu sitio web:

sudo nano /var/www/tu_sitio/info.php

Añade la siguiente línea de código:

<?php phpinfo(); ?>

Guarda el archivo y cierra el editor. Abre tu navegador y navega a http://tu_dominio_o_IP/info.php. Deberías ver la página de información de PHP, que confirma que PHP está funcionando correctamente.

Para mejorar el rendimiento y la gestión de tu pila LEMP, considera utilizar los servicios de Shape.host. Ofrecen soluciones de Cloud VPS que proporcionan escalabilidad, alta disponibilidad y un rendimiento superior para tus aplicaciones web. Con Shape.host, puedes asegurarte de que tu infraestructura esté siempre disponible y funcionando de manera óptima.