Nginx
El servicio no llega a levantar. Otro proceso —o el propio Nginx que no terminó de pararse— ya tiene el puerto.
Lo primero es saber quién lo tiene. Reiniciar a ciegas suele dejar el puerto ocupado por lo mismo.
En el orden en que lo miramos nosotros. No es un ranking de frecuencia: no publicamos estadísticas que no hemos medido.
Hay otro servidor web escuchando, normalmente Apache instalado por dependencias.
Comprobar
sudo ss -tlnp | grep -E ':80|:443'Corregir
sudo systemctl disable --now apache2Quedan procesos de Nginx de un arranque anterior que no murieron.
Comprobar
ps aux | grep '[n]ginx'Corregir
sudo systemctl stop nginx
# -x compara el nombre del proceso, no la línea de órdenes entera: con -f
# se llevaría por delante cualquier comando que mencione nginx, empezando
# por el tail que tengas mirando su log.
sudo pkill -x nginx
sudo systemctl start nginxDos server distintos declaran el mismo listen con parámetros incompatibles —default_server o reuseport repetidos—, normalmente por un fichero duplicado en sites-enabled. Varios server pueden compartir puerto, pero esos parámetros van una sola vez.
Comprobar
sudo nginx -t
sudo nginx -T | grep -E '^\s*listen ' | sort | uniq -dCorregir
# Dejar default_server (y reuseport, si se usa) en un único server por
# puerto; los demás mantienen su listen y se distinguen por server_name.Los comandos de esta página se ejecutan en tu servidor y algunos modifican la configuración: léelos antes de pegarlos. Las rutas y los nombres de servicio varían entre distribuciones. Así se elabora este catálogo.
Soporte Linux y DevOps en español