Cómo instalar Linux, Nginx, Mariabd y PHP (pila LEMP) en Ubuntu 22.04


Introducción 

La pila LEMP es un conjunto de software que se utiliza para desarrollar y alojar aplicaciones web dinámicas y sitios web. Es una combinación de Linux como sistema operativo, Nginx (pronunciado "Engine-X") como servidor web, MariaDB/MySQL como sistema de gestión de bases de datos y PHP como lenguaje de programación del lado del servidor. La pila LEMP es muy popular debido a su rendimiento, flexibilidad y robustez, y se utiliza para ejecutar aplicaciones web de alto tráfico.

LEMP Stack Là Gì? Sự Khác Biệt Giữa LAMP Vs LEMP Stack

Linux (L):

El sistema operativo que sirve de base para los demás componentes. Linux es conocido por su estabilidad, seguridad y eficiencia, lo que lo convierte en una opción común para servidores web.

Nginx (E): 

Un servidor web ligero y de alto rendimiento que también puede funcionar como un servidor proxy inverso, equilibrador de carga y más. Nginx se destaca por su capacidad para manejar muchas conexiones simultáneas, lo que lo convierte en una opción popular para sitios web que requieren un alto rendimiento.

MariaDB/MySQL (M): 

Es el sistema de gestión de bases de datos relacional. Aunque históricamente se usaba MySQL en la pila LAMP (una variante de LEMP con Apache en lugar de Nginx), MariaDB es una bifurcación de MySQL que ha ganado popularidad por su rendimiento mejorado y características adicionales. Las bases de datos se usan para almacenar información que las aplicaciones web necesitan recuperar y mostrar de manera dinámica.

PHP (P): 

Un lenguaje de programación del lado del servidor que procesa las solicitudes de los usuarios, interactúa con la base de datos y genera el contenido dinámico de las páginas web. PHP es ampliamente usado en el desarrollo web, y es compatible con una gran variedad de frameworks y sistemas de gestión de contenidos, como WordPress, Drupal, Laravel, etc.

Instalación del Servidor

Actualizar los paquetes del sistema

Antes de instalar cualquier paquete, es importante asegurarse de que los repositorios del sistema estén actualizados.

sudo apt update 
sudo apt upgrade 

Instala Nginx

Nginx es el servidor web en la pila LEMP.

sudo apt install nginx -y

Una vez que se complete la instalación, habilita e inicia el servicio de Nginx:

sudo systemctl enable nginx
sudo systemctl start nginx

Para verificar que Nginx esté funcionando, abre tu navegador y escribe http://localhost o http://<tu-ip>.

Instalar MariaDB

MariaDB es el sistema de gestión de bases de datos.

sudo apt install mariadb-server mariadb-client -y

Una vez instalado, asegúrate de asegurar la instalación de MariaDB:

sudo mysql_secure_installation

Durante este proceso, se te pedirá configurar el root y seguir una serie de pasos de seguridad.

Instala php

PHP es el lenguaje de programación utilizado para ejecutar scripts del lado del servidor.

sudo apt install php-fpm php-mysql -y

Instalar extensiones adicionales de PHP 

Si tu aplicación necesita extensiones específicas de PHP

sudo apt install php-xml php-cli php-zip php-curl

Verificamos la versión instalada

php -v

Esto instalará PHP y el módulo de PHP para conectarse a MariaDB.

Configurar Nginx para usar PHP

Editamos el archivo de configuración de servidor en Nginx para tu sitio web:

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

Asegúrate de que el bloque del servidor tenga la siguiente configuración básica para trabajar con PHP:

server {
    listen 80;
    server_name localhost;
    root /var/www/html;
    index index.php index.html index.htm;
    location / {
       try_files $uri $uri/ =404;
   }
    location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; 
}
    location ~ /\.ht {
        deny all;
    }
 }

Guarda y cierra el archivo.

Damos permisos 

sudo chmod -R 777 /var/www/html

Comprueba el funcionamiento de PHP

Crea un archivo PHP de prueba en el directorio raíz de tu servidor web.

<?php
phpinfo();
?>

Guarda y cierra el archivo. Luego, abre tu navegador y accede a http://localhost/info.php. Deberías ver la página con la configuración de PHP.

Reiniciar Nginx

Cada vez que modifiques la configuración de Nginx, debes reiniciar el servicio para que los cambios surtan efecto.

sudo systemctl reload nginx

Verificar el estado de los servicios

Asegúrate de que todos los servicios estén en ejecución:

sudo systemctl status nginx
sudo systemctl status mariadb

Conclusión:

La pila LEMP (Linux, Nginx, MySQL/MariaDB y PHP) es una configuración de servidor altamente eficiente y popular para implementar aplicaciones web dinámicas. A diferencia de la pila LAMP, que utiliza Apache como servidor web, LEMP usa Nginx, un servidor ligero y rápido que maneja mejor la concurrencia y el rendimiento en cargas altas, ideal para sitios con tráfico intensivo.

Esta arquitectura ofrece una combinación poderosa: Linux proporciona un sistema operativo estable y seguro; Nginx permite manejar un gran volumen de solicitudes de forma rápida; MySQL o MariaDB asegura un sistema de bases de datos robusto para almacenar y gestionar datos de forma eficiente; y PHP permite desarrollar aplicaciones web dinámicas y complejas.

En conjunto, la pila LEMP es una excelente elección para proyectos que requieren velocidad, escalabilidad y un consumo optimizado de recursos, convirtiéndola en una solución de servidor confiable para aplicaciones modernas y de alto rendimiento.

Síguenos en nuestras redes sociales