Regresar

Nginx - Instalación y uso básico

DevSbCommerce
DevSbCommerce 09 de mayo de 2025
Nginx - Instalación y uso básico

Tabla de contenidos

  1. ¿Qué es Nginx?
  2. Instalación de Nginx
  3. En Ubuntu/Debian
  4. En CentOS/RHEL
  5. Estructura de archivos de Nginx
  6. Configuración básica
  7. Usar Nginx como proxy inverso
  8. Seguridad básica
  9. Conclusión

Nginx es un servidor web ligero, de alto rendimiento y de código abierto que se utiliza ampliamente para servir sitios web estáticos, actuar como proxy inverso y balanceador de carga. En esta guía aprenderás cómo instalar y hacer una configuración básica de Nginx.

¿Qué es Nginx?

Nginx (pronunciado “engine-x”) es un servidor web diseñado para manejar muchas conexiones concurrentes con poca memoria y recursos. Es ideal para proyectos que requieren velocidad, eficiencia y escalabilidad.

Instalación de Nginx

En Ubuntu/Debian

sudo apt update
sudo apt install nginx

Una vez instalado, puedes verificar que esté funcionando con:

systemctl status nginx

También puedes abrir tu navegador y visitar http://localhost para ver la página de bienvenida de Nginx.

En CentOS/RHEL

sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

Estructura de archivos de Nginx

La estructura principal suele ser:

/etc/nginx/
├── nginx.conf
├── sites-available/
└── sites-enabled/

Configuración básica

Para servir un sitio simple, puedes crear un archivo en sites-available:

sudo nano /etc/nginx/sites-available/mi-sitio

Contenido de ejemplo:

server {
    listen 80;
    server_name midominio.com www.midominio.com;

    root /var/www/mi-sitio;
    index index.html index.htm;

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

Luego crea el directorio y una página de prueba:

sudo mkdir -p /var/www/mi-sitio
echo '<h1>Hola desde Nginx</h1>' | sudo tee /var/www/mi-sitio/index.html

Activa el sitio con:

sudo ln -s /etc/nginx/sites-available/mi-sitio /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Usar Nginx como proxy inverso

Una de las funciones más poderosas de Nginx es actuar como proxy inverso para aplicaciones backend (por ejemplo, Node.js, Python, etc.):

server {
    listen 80;
    server_name api.midominio.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Esto redirige todas las solicitudes a tu backend que corre en el puerto 3000.

Seguridad básica

sudo ufw allow 'Nginx Full'
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

Conclusión

Nginx es una herramienta versátil y poderosa para cualquier desarrollador web. Ya sea que estés sirviendo archivos estáticos, aplicaciones dinámicas o actuando como proxy, Nginx es una excelente opción.

¡Esperamos que esta guía te haya sido útil para comenzar con Nginx y mejorar la eficiencia de tus sitios web!