proceso - Nginx no se iniciará(la dirección ya está en uso)
proceso nginx (3)
Tengo un problema con nginx. Probé diferentes soluciones, pero para mí nada funciona. Ese es mi error:
4 root@BANANAS ~ # sudo service nginx restart :(
Restarting nginx: nginx: [emerg] bind() to [::]:443 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:443 failed (98: Address already in use)
nginx: [emerg] still could not bind()
nginx.
¿Me puedes ayudar?
Gracias por la respuesta. despues de correr
sudo netstat -tulpn
Me di cuenta de que tenía apache2 ejecutándose en el puerto 80. Esto probablemente se hizo después de usar Certbot para instalar SSL en el servidor. Quité Apache2 y el servidor estaba en funcionamiento.
apt remove apache2
Esto hizo el truco! Gracias de nuevo.
Otra forma (según mi experiencia) es simplemente forzar la salida del proceso que se ejecuta en ese puerto 443
sudo fuser -k 443/tcp
o si está ejecutando en el puerto 80
simplemente cambie el puerto a
sudo fuser -k 80/tcp
Espero que ayude a alguien que tuvo el mismo problema.
Probablemente otro proceso esté usando el puerto especificado:
sudo netstat -tulpn
Obtenga el PID del proceso que ya usa 443. Y envíe la señal con el comando kill.
sudo kill -2 <PID>
sudo service nginx restart
Como alternativa puedes hacer:
sudo fuser -k 443/tcp
Asegúrate de no usar la sintaxis antigua:
server {
listen :80;
listen [::]:80;
}
La sintaxis anterior causará
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Sintaxis correcta:
server {
listen 80;
listen [::]:80 ipv6only=on;
}
o
server {
listen [::]:80;
}
La sintaxis anterior logrará lo mismo, escuchando tanto en ipv4 como en ipv6.