- 1 1. Introducción
- 2 2. Procedimiento de instalación de Nginx en Ubuntu
- 3 3. Configuración básica de Nginx en Ubuntu
- 4 4. Inicio y administración de Nginx
- 5 5. Configuración del cortafuegos y seguridad en Nginx
- 6 6. Optimización de rendimiento y resolución de problemas en Nginx
- 7 7. Conclusión y próximos pasos
1. Introducción
Muchas personas desean utilizar Nginx en Ubuntu, pero si es la primera vez, puede resultar confuso saber por dónde empezar. En este artículo, explicamos de forma clara y paso a paso cómo instalar, configurar y administrar Nginx en un entorno Ubuntu, incluso para principiantes.
¿Qué es Nginx?
Nginx (Engine-X) es conocido como un servidor HTTP de alto rendimiento y también como un servidor proxy inverso. Gracias a su ligereza y flexibilidad, se utiliza en servidores web y aplicaciones en todo el mundo. Una de sus características principales es su capacidad para manejar un alto volumen de tráfico.
Ventajas de usar Nginx en Ubuntu
Ubuntu es una de las distribuciones de Linux más populares y tiene gran compatibilidad con Nginx. Al contar con el sistema de gestión de paquetes (APT), la instalación y actualización son sencillas, además de ofrecer estabilidad y seguridad.
Al leer este artículo, aprenderás lo siguiente:
- Cómo instalar Nginx en Ubuntu
- Configuración y administración básica
- Ajustes de rendimiento y resolución de problemas
Ahora, avancemos con los pasos prácticos.
2. Procedimiento de instalación de Nginx en Ubuntu
Para ejecutar Nginx en Ubuntu, primero es necesario instalarlo correctamente. Aquí explicamos los pasos de instalación de manera sencilla.
Verificación de paquetes necesarios
Antes de empezar, asegúrate de que el sistema esté actualizado ejecutando los siguientes comandos:
sudo apt update
sudo apt upgrade
Instalación de Nginx
Para instalar Nginx, introduce el siguiente comando:
sudo apt install nginx
Este comando descargará e instalará Nginx desde el repositorio APT de Ubuntu.
Verificación de la instalación
Para comprobar que la instalación se completó correctamente, verifica el estado de Nginx con el siguiente comando:
sudo systemctl status nginx
Si aparece “active (running)”, la instalación fue exitosa.
Configuración del cortafuegos
Ubuntu incluye UFW (Uncomplicated Firewall), que permite autorizar el tráfico de Nginx.
sudo ufw allow 'Nginx Full'
sudo ufw enable
Con esto, Nginx estará listo para funcionar en los puertos 80 (HTTP) y 443 (HTTPS).

3. Configuración básica de Nginx en Ubuntu
Instalar Nginx no es suficiente. Es necesario realizar configuraciones básicas para aprovecharlo al máximo.
Ubicación y estructura básica de los archivos de configuración
Los archivos principales de configuración de Nginx están en:
- Archivo principal:
/etc/nginx/nginx.conf
- Archivos por sitio: dentro del directorio
/etc/nginx/sites-available/
Normalmente, se crea un archivo de configuración para cada sitio en sites-available
y se habilita mediante un enlace simbólico en sites-enabled
.
Configuración de un alojamiento virtual
Con los alojamientos virtuales, es posible administrar múltiples dominios o proyectos en un solo servidor. Ejemplo para example.com
:
sudo nano /etc/nginx/sites-available/example.com
Agrega el siguiente contenido:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Luego, habilita la configuración:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
4. Inicio y administración de Nginx
Después de instalar y configurar Nginx, es importante aprender cómo iniciarlo, detenerlo, recargar configuraciones y resolver problemas básicos. En esta sección veremos los comandos esenciales para gestionar Nginx en Ubuntu.
Comandos básicos de Nginx
En Ubuntu, se utiliza el comando systemctl
para administrar el estado de Nginx. Algunos comandos principales son:
- Iniciar Nginx
sudo systemctl start nginx
- Detener Nginx
sudo systemctl stop nginx
- Reiniciar Nginx
Necesario cuando se realizan cambios mayores en la configuración.
sudo systemctl restart nginx
- Recargar configuración
Permite aplicar cambios sin reiniciar completamente.
sudo systemctl reload nginx
- Verificar estado
sudo systemctl status nginx
Configuración de inicio automático
Para que Nginx se inicie automáticamente tras reiniciar el sistema:
- Habilitar inicio automático
sudo systemctl enable nginx
- Deshabilitar inicio automático
sudo systemctl disable nginx
Revisión de registros y resolución de problemas
Si Nginx no funciona como se espera, revisa los registros:
- Errores
sudo tail -f /var/log/nginx/error.log
- Accesos
sudo tail -f /var/log/nginx/access.log
5. Configuración del cortafuegos y seguridad en Nginx
La seguridad es clave al operar Nginx. Aquí se explican ajustes de puertos con UFW y configuraciones adicionales para reforzar la seguridad.
Apertura de puertos con UFW
- Revisar estado actual
sudo ufw status
- Permitir reglas para Nginx
sudo ufw allow 'Nginx Full'
- Habilitar UFW
sudo ufw enable
Ajustes adicionales de seguridad
- Deshabilitar métodos HTTP innecesarios
if ($request_method !~ ^(GET|POST|HEAD)$) {
return 444;
}
- Desactivar listado de directorios
autoindex off;
- Refuerzo SSL/TLS
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
6. Optimización de rendimiento y resolución de problemas en Nginx
Nginx es un servidor rápido por diseño, pero con ciertos ajustes se puede lograr aún mejor rendimiento. También se abordan soluciones a problemas comunes.
Ajustes de rendimiento
1. Configuración de procesos de trabajo
Edita /etc/nginx/nginx.conf
y establece:
worker_processes auto;
2. Aumentar conexiones por proceso
worker_connections 1024;
3. Habilitar HTTP/2
listen 443 ssl http2;
4. Activar compresión de contenidos
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
5. Configuración de caché
location ~* .(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
expires 30d;
access_log off;
}
Problemas frecuentes y soluciones
1. Lentitud bajo alta carga
- Causa: configuración incorrecta de procesos o conexiones.
- Solución: ajustar
worker_processes
yworker_connections
; implementar balanceo de carga.
2. Error 403 Forbidden
- Causa: ruta incorrecta en la directiva
root
o permisos erróneos. - Solución: revisar configuración y corregir permisos:
sudo chmod -R 755 /var/www/example.com/html sudo chown -R www-data:www-data /var/www/example.com/html
3. Tiempo de espera (timeout)
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
4. Error al reiniciar Nginx
- Causa: error en archivo de configuración.
- Solución: validar antes de reiniciar con:
sudo nginx -t
7. Conclusión y próximos pasos
En este artículo aprendiste cómo instalar, configurar y administrar Nginx en Ubuntu. Resumimos los puntos clave y te damos ideas para seguir avanzando.
Resumen
- Instalación de Nginx y configuración de UFW.
- Configuraciones básicas como hosts virtuales y SSL/TLS.
- Administración mediante comandos
systemctl
y revisión de registros. - Seguridad reforzada con UFW y ajustes adicionales.
- Optimización del rendimiento y resolución de problemas comunes.
Próximos pasos
- Aprender configuraciones avanzadas como balanceo de carga y proxy inverso.
- Implementar mayor seguridad con WAF o módulos adicionales.
- Automatizar despliegues con Ansible o Docker.
- Usar herramientas de monitoreo como Prometheus y Grafana.
Palabras finales
Nginx es un servidor web rápido y flexible. Si se administra correctamente, puede cubrir múltiples casos de uso. Te recomendamos explorar la documentación oficial y recursos de la comunidad para seguir aprendiendo. ¡Esperamos que esta guía te ayude en tus proyectos con Ubuntu y Nginx!