I have a problem with nginx. I tried different solutions, but for me nothing work. That is my 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.
Can you help me?
Probably other process is using specified port:
Get the PID of the process that already using 443. And send signal with kill command.
Aternatively you can do:
Make sure you dont use old syntax:
The above syntax will cause
Correct syntax:
or
Both above syntax will achieve the same thing, listening on both ipv4 and ipv6.
Thank you for the answer. After running
I realised that I had apache2 running on port 80. This was probably done after I used Certbot to install SSL on the server. I removed Apache2 and the server was up and running.
This did the trick! Thank you again.
When I killed the nginx process bind to 80 & 443 ports, the process always reappeared with new PID.
It helped me to temporarily comment this line in
/etc/nginx/nginx.conf
, restart nginx and then uncomment the line back:Another way (from my experience) is just force quit the process that running on that port
443
or if you running on port
80
just change the port toHope it helps someone who had the same issue
Alternative using
lsof
:Find the PID & kill the process which running on port
443