Curso de servidores linux

Instalar Nginx en otro puerto (junto a Apache)

Objetivo

  • Mantener Apache en el puerto 80
  • Instalar Nginx en el puerto 8080
  • Acceder desde Windows a ambos servidores

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

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)

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


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;

Paso 4 - Reiniciar Nginx

1sudo systemctl restart nginx

Comprueba:

1sudo systemctl status nginx

Debe decir:

active (running)

🎉 Ya conviven Apache y Nginx


Paso 5 - Probar desde Linux

1curl http://localhost:8080

Deberías ver la página por defecto de Nginx.


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


Paso 7 - Habilitamos el Firewall (si no funciona)

1sudo ufw allow 8080
2sudo ufw reload

Diferencia de carpetas (muy importante)

ServidorCarpeta 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)


Concepto clave del módulo

Un mismo servidor puede ofrecer múltiples servicios diferenciados por puertos o dominios.


❌ Errores comunes

❌ Nginx no arranca 👉 Puerto 80 no cambiado

❌ Windows no conecta 👉 Firewall o IP incorrecta

❌ Confundir puertos 👉 El navegador manda