I recently had the same problem as the OP, to the very detail. nginx running, not listening on 80/443. Status checks showed these relevant bits:
System
x HTTP Web (nginx) is not running ([Errno 111] Connection refused; port 80).
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
x HTTPS Web (nginx) is not running ([Errno 111] Connection refused; port 443).
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
However, I was able to fix it, in part with some insight from one of the posts above. I wasnāt willing to just cancel a box and rebuild another one. Thatās not a solution. So I kept digging.
About a month ago, I started getting GMail throwing my e-mails when sending to people there. I was able to determine that the cause was that the IPv6 address of my VPS didnāt have a reverse DNS set. So, I set it, and then used the DNS update tools to also add an IPv6 forward (which may be the issue) for my v6 address to the hostname.
To restore functionality, I was able to comment out:
#or (isinstance(value, dict) and ("AAAA" in value) and (value["AAAA"] != "local")):
inside of get_web_domains inside of management/web_update.py and get it to fire the web update by adding
env = utils.load_environment()
do_web_update(env)
at the bottom of that script and running it. This correctly regenerated the nginx config and restarted nginx, bringing back listening on 80 and 443, and restoring connectivity to the admin interface.
My suspicion is that the admin interface no longer believes that my v6 address is ālocalā because of either the forward or reverse DNS addition, likely the new forward. I can try and clean that up and see if that resolves the problem, but this is at least what got me by and working now.