Servidor Web Nginx
1. Instalar Nginx en otro puerto (junto a Apache) #
2. Objetivo #
- Mantener Apache en el puerto 80
- Instalar Nginx en el puerto 8080
- Acceder desde Windows a ambos servidores
3. Idea clave (importantísima) #
👉 Dos servicios NO pueden usar el mismo puerto Por eso Nginx no puede usar el 80 mientras Apache esté activo.
IP_LINUX:80 → Apache
IP_LINUX:8080 → Nginx
4. Paso 1 - Instalar Nginx (Linux) #
1sudo apt update 2sudo apt install nginx
Durante la instalación:
- Se crea el servicio
nginx - ❌ No arrancará correctamente (puerto 80 ocupado)
5. Paso 2 - Ver el problema #
1sudo systemctl status nginx
Verás algo como:
failed
address already in use
📌 Esto es NORMAL 👉 Apache ya está usando el puerto 80
6. Paso 3 - Cambiar el puerto de Nginx #
Edita la configuración por defecto:
1sudo nano /etc/nginx/sites-available/default
Busca esta línea:
1listen 80 default_server;
Cámbiala por:
1listen 8080;
Si ves otra línea listen [::]:80;, cámbiala también:
1listen [::]:8080;
7. Paso 4 - Reiniciar Nginx #
1sudo systemctl restart nginx
Comprueba:
1sudo systemctl status nginx
Debe decir:
active (running)
🎉 Ya conviven Apache y Nginx
8. Paso 5 - Probar desde Linux #
1curl http://localhost:8080
Deberías ver la página por defecto de Nginx.
9. Paso 6 - Acceder desde Windows #
En el navegador de Windows:
Apache #
http://IP_LINUX
Nginx #
http://IP_LINUX:8080
Ejemplo:
http://192.168.1.50
http://192.168.1.50:8080
✔ Dos servidores ✔ Una sola máquina ✔ Producción real
10. Paso 7 - Habilitamos el Firewall (si no funciona) #
1sudo ufw allow 8080 2sudo ufw reload
11. Diferencia de carpetas (muy importante) #
| Servidor | Carpeta web |
|---|---|
| Apache | /var/www/html |
| Nginx | /var/www/html (por defecto) |
📌 Ojo: Ambos apuntan al mismo directorio por ahora (más adelante los separaremos con Virtual Hosts)
12. Concepto clave del módulo #
Un mismo servidor puede ofrecer múltiples servicios diferenciados por puertos o dominios.
Resumen del tema
Conceptos clave #
- Servidor Web Nginx: servidor HTTP ligero de alto rendimiento y arquitectura asíncrona no bloqueante basada en eventos.
- Exclusividad de Puertos (Address already in use): dos procesos no pueden escuchar simultáneamente en la misma interfaz y puerto TCP (Apache en 80 y Nginx en 8080).
- Configuración de Bloques de Servidor (
server): archivo/etc/nginx/sites-available/defaultmodificando la directivalisten 8080;. - Validación y Pruebas: verificación con
curl http://localhost:8080y acceso remoto desde el navegador (http://IP:8080). - Apertura en Firewall (
ufw): habilitar el puerto alternativo mediantesudo ufw allow 8080/tcp.
Qué debes recordar #
Nginx puede coexistir con Apache en la misma máquina asignando puertos distintos (listen 8080;) y abriendo el puerto correspondiente en ufw.