Servidor web · 8 min read · Oct 12, 2025

Cómo instalar Nginx con PHP y MySQL (LEMP Stack) en Ubuntu 20.04 LTS

Nginx (pronunciado “engine x”) es un servidor HTTP de alto rendimiento, gratuito y de código abierto. Nginx es conocido por su alta velocidad, estabilidad, rica funcionalidad, configuración simple y bajo consumo de recursos. Este tutorial muestra cómo puedes instalar Nginx en un servidor Ubuntu 20.04 LTS con soporte para PHP 7.4 (a través de PHP-FPM) y soporte para MySQL (LEMP = Linux + Nginx (pronunciado “engine x”) + MySQL + PHP).

Requisitos previos

  • Servidor Ubuntu 20.04 LTS
  • Privilegios de root

¿Qué haremos?

  • Instalar Nginx
  • Instalar MySQL
  • Instalar PHP-FPM
  • Configurar Nginx y PHP-FPM
  • Instalar PhpMyAdmin
  • Configurar PhpMyAdmin
  • Pruebas

Paso 1 - Instalar Nginx

Nginx o engine x es un servidor HTTP y proxy de alto rendimiento con bajo consumo de memoria. La mayoría de los sitios web a gran escala como Netflix, Pinterest, CloudFlare, GitHub están utilizando Nginx.

En este paso, instalaremos el servidor web Nginx desde el repositorio de Ubuntu.

Actualiza todos los repositorios en el sistema Ubuntu e instala los paquetes de Nginx usando el comando apt a continuación.

sudo apt update  
sudo apt install nginx

Después de que se complete la instalación, inicia el servicio Nginx y habilítalo para que se inicie cada vez que arranque el sistema.

systemctl start nginx  
systemctl enable nginx

Ahora la instalación del servidor web Nginx está completa, verifica el servicio Nginx usando el siguiente comando.

systemctl status nginx

A continuación se muestra el resultado que obtendrás.

Instalar Nginx

Además, verifica el puerto HTTP en el sistema Ubuntu y asegúrate de que esté siendo utilizado por el servicio Nginx.

ss -plt4

A continuación se muestra el resultado que obtendrás.

Como resultado, el protocolo HTTP es utilizado por el servicio Nginx.

A continuación, aseguraremos nuestra instalación de Nginx usando el firewall UFW.

Agrega el protocolo HTTP y HTTPS a la configuración del firewall UFW usando el siguiente comando.

for fw in ssh http https  
do  
ufw allow $fw  
done

Ahora habilita el firewall UFW y verifica su estado.

ufw enable  
ufw status numbered

Y el protocolo HTTP y HTTPS ha sido agregado a la configuración del firewall UFW.

Abrir puerto HTTP y HTTPS UFW Firewall

Paso 2 - Instalar MySQL

MySQL es el sistema de gestión de bases de datos relacional (RDBMS) de código abierto más popular creado por Oracle Corporation. Es un componente central del LEMP Stack, y vamos a instalar la última versión de MySQL desde el repositorio de Ubuntu.

Instala MySQL usando el comando apt a continuación.

sudo apt install mysql-server mysql-client

Después de que la instalación de MySQL esté completa, inicia el servicio MySQL y habilítalo para que se inicie cada vez que arranque el sistema.

systemctl start mysql  
systemctl enable mysql

Ahora verifica el servicio MySQL usando el comando a continuación.

systemctl status mysql

El servicio MySQL está en funcionamiento.

Instalar MySQL Server

A continuación, configuraremos la contraseña de root para el servidor MySQL.

Ejecuta el comando ‘mysql_secure_installation’ a continuación.

mysql_secure_installation

Ahora se te pedirá la siguiente configuración, y asegúrate de escribir tu contraseña fuerte para el usuario root de MySQL.

Presiona y|Y para Sí, cualquier otra tecla para No: Presiona Enter  
  
Nueva contraseña:   
Reingresa nueva contraseña:   
  
¿Eliminar usuarios anónimos? (Presiona y|Y para Sí, cualquier otra tecla para No) : Y  
¿Deshabilitar el inicio de sesión remoto de root? (Presiona y|Y para Sí, cualquier otra tecla para No) : Y  
¿Eliminar la base de datos de prueba y el acceso a ella? (Presiona y|Y para Sí, cualquier otra tecla para No) : Y  
¿Recargar tablas de privilegios ahora? (Presiona y|Y para Sí, cualquier otra tecla para No) : Y

Y la contraseña de root de MySQL ha sido configurada.

Como resultado, la instalación y configuración de la base de datos MySQL en Ubuntu 20.04 ha sido completada.

Paso 3 - Instalar y Configurar PHP-FPM

PHP-FPM o FastCGI Process Manager es una alternativa al antiguo PHP FastCGI que proporciona características adicionales y mejoras de velocidad. Se adapta bien a sitios pequeños a grandes basados en el lenguaje de programación PHP.

En este paso, instalaremos el PHP7.4-FPM predeterminado con algunas extensiones adicionales requeridas por PHPMyAdmin.

Instala PHP-FPM usando el comando a continuación.

sudo apt install php-fpm php-cli php-curl php-mysql php-curl php-gd php-mbstring php-pear -y

Después de que la instalación de PHP-FPM esté completa, ve al directorio ‘/etc/php/7.4/fpm’ y edita la configuración php.ini usando el editor vim.

cd /etc/php/7.4/fpm/  
vim php.ini

Descomenta la siguiente configuración y cambia el valor a ‘0’.

cgi.fix_pathinfo = 0

Guarda y cierra.

Ahora inicia el servicio PHP7.4-FPM y habilítalo para que se inicie cada vez que arranque el sistema.

systemctl start php7.4-fpm  
systemctl enable php7.4-fpm

El servicio PHP-FPM está en funcionamiento, verifícalo usando el siguiente comando.

systemctl status php7.4-fpm

A continuación se muestra el resultado que obtendrás.

Instalar php-fpm

Por defecto, PHP-FPM se está ejecutando bajo el archivo sock, verifica usando el comando ss a continuación.

ss -pl | grep php

A continuación se muestra la respuesta que obtendrás.

u_str   LISTEN   0     511   /run/php/php7.4-fpm.sock 67702   * 0                             

Y la instalación de PHP-FPM 7.4 en Ubuntu 20.04 ha sido completada.

Paso 4 - Configurar Nginx y PHP-FPM

En este paso, configuraremos el servidor web Nginx y PHP-FPM.

Ve al directorio de configuración ‘/etc/nginx’ y edita el archivo ‘nginx.conf’ usando vim o nano.

cd /etc/nginx/  
vim nginx.conf

Descomenta la siguiente línea para ocultar la versión de Nginx.

server_tokens off;

Guarda y cierra.

A continuación, edita la configuración del virtualhost ‘default’ en el directorio ‘sites-available’.

vim sites-available/default

Descomenta la línea de PHP que se muestra a continuación y cambia la línea del archivo sock.

        location ~ \.php$ {  
                include snippets/fastcgi-php.conf;  
        #  
        # # Con php-fpm (o otros sockets unix):  
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;  
        # # Con php-cgi (o otros sockets tcp):  
        # fastcgi_pass 127.2.0.1:9000;  
        }

Guarda y cierra.

Prueba la configuración de Nginx y asegúrate de que no haya errores, luego reinicia el servicio.

nginx -t  
systemctl restart nginx

Como resultado, la configuración de Nginx y PHP-FPM ha sido completada.

Configurar Nginx y PHP-FPM

Paso 5 - Instalar phpMyAdmin

PhpMyAdmin es una aplicación basada en PHP para gestionar bases de datos MySQL o MariaDB desde un navegador web. En este paso, instalaremos y configuraremos PHPMyAdmin bajo el stack LEMP (Linux, Nginx, MySQL y PHP-FPM).

Instala PHPMyAdmin usando el comando apt a continuación.

sudo apt install phpmyadmin

Durante la instalación, se te preguntará sobre la configuración del servidor web para phpmyadmin.

Elige la opción ninguna y mueve el cursor a ‘ OK ‘.

Configurar servidor web para phpMyAdmin

Para la configuración de la base de datos y el usuario de phpmyadmin, elige ‘ ‘.

Y escribe una nueva contraseña ‘FUERTE’ para el administrador de PHPMyAdmin, como ‘Hakaselabs001@#’.

Configurar contraseña para la base de datos y usuario de phpMyAdmin

Repite la contraseña ‘Hakaselabs001@#’.

Configurar servidor web para phpMyAdmin

Y la instalación de phpMyAdmin en Ubuntu 20.04 está completa.

Paso 6 - Configurar phpMyAdmin con Nginx y MySQL

Después de la instalación de phpmyadmin, necesitamos configurar phpmyadmin para que se ejecute bajo el servidor web Nginx y configurar el acceso del usuario de MySQL a phpmyadmin. Para ejecutar PHPMyAdmin bajo el servidor web Nginx, necesitamos agregar la configuración al archivo de configuración del virtual host.

Configurar phpMyAdmin con el servidor web Nginx

Ahora ve al directorio de configuración ‘/etc/nginx’ y edita el archivo del virtual host predeterminado.

cd /etc/nginx/sites-available/  
vim default

Pega la siguiente configuración de Nginx para PHPMyAdmin dentro del bloque ‘server {…}’.

location /phpmyadmin {  
    root /usr/share/;  
    index index.php;  
    try_files $uri $uri/ =404;  

location ~ ^/phpmyadmin/(doc|sql|setup)/ {  
    deny all;  
    }  
  
location ~ /phpmyadmin/(.+\.php)$ {  
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;  
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    include fastcgi_params;  
    include snippets/fastcgi-php.conf;  
    }  
}

Guarda y sal.

Prueba la configuración de nginx y asegúrate de que no haya errores, luego reinicia el servicio nginx.

nginx -t  
systemctl reload nginx

Y hemos agregado la configuración de Nginx para nuestra instalación de phpMyAdmin, es accesible a través de la URL como ‘http://server-ip/phpmyadmin’.

Configurar Nginx para phpMyAdmin

Permitir al usuario de phpMyAdmin acceder a las bases de datos

Para este tutorial, utilizaremos usuarios de MySQL no root para PHPMyAdmin. Crearemos un nuevo usuario y otorgaremos todos los privilegios de todas las bases de datos dentro del servidor al usuario.

Inicia sesión en el shell de MySQL usando el siguiente comando.

mysql -u root -p

Ahora crea un nuevo usuario de MySQL ‘hakase’ y otorga todos los privilegios de base de datos.

create user hakase@'localhost' identified by 'Hakaselabs001@#';  
grant all privileges on *.* to hakase@'localhost';  
flush privileges;

Ahora escribe ‘exit’ para cerrar sesión en el shell de MySQL.

exit

Como resultado, hemos creado un nuevo usuario de MySQL para phpMyAdmin.

Paso 7 - Pruebas

En este paso, probaremos nuestra configuración del LEMP Stack y phpMyAdmin.

Probar archivo PHP

Ve al directorio ‘/var/www/html’ y crea un nuevo archivo de script ‘info.php’ usando el editor vim.

cd /var/www/html  
vim info.php

Pega el siguiente script en él.

Guarda y cierra.

A continuación, abre tu navegador web y escribe la dirección IP de tu servidor seguida de la ruta de tu script ‘info.php’.

http://server-ip/info.php

A continuación se muestra el resultado que obtendrás.

phpinfo con LEMP Stack

Como resultado, hemos detallado la configuración de nuestro PHP-FPM 7.4 en el servidor Ubuntu 20.04, y el script PHP se está ejecutando en nuestro servidor LEMP Stack.

Probar phpMyAdmin

Para probar nuestra instalación de phpMyAdmin, escribe la dirección IP de tu servidor seguida de la ruta ‘phpmyadmin’ en la URL.

http://server-ip/phpmyadmin/

Y obtendrás la página de inicio de sesión de phpMyAdmin.

Página de inicio de sesión de phpMyAdmin

Para iniciar sesión en phpMyAdmin, escribe el usuario que hemos creado anteriormente. El usuario es ‘hakase’ con la contraseña ‘Hakaselabs001@#’, luego haz clic en el botón ‘ Ir ‘.

Y obtendrás el panel de control de phpMyAdmin como se muestra a continuación.

Panel de control de phpMyAdmin

El phpMyAdmin está funcionando bajo el entorno LEMP Stack.

Como resultado, la instalación y configuración del LEMP Stack en Ubuntu 20.04 se ha completado con éxito.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.