网站出现Connection refused的可能原因

今天,网站又一次挂了,基于docker跑的mysql不知道怎么就坏了。

登上服务器,试过stop, kill, restart,都不能正确重启这个docker container。无奈之下,只要拿出重启大法

执行reboot命令,ssh断开,间隔三分钟之后重新登录。

使用docker stats {container_name} 查看,发现mysql正常了,再启动wordpress对应的container(不知道这个container为啥没能自动启动)。重新刷新网页,提示:Connection refused

以为还是mysql或者wordpress这两个container的问题,再次执行了针对这两个container的restart命令,没效果。

使用tail -f来监听nginx的access.log,然后本地和服务器上反复执行ping和curl,发现也没有新的日志。

怀疑是防火墙的问题,去vulter的后台确认了平台这边的防火墙没问题,再使用firewall-cmd查看服务器自身配置的防火墙,发现也没问题,80端口都是开着的。

继续找资料,无意间看到这篇文章:linux中某个端口拒绝远程主机连接原因及解决方法

就在服务器上执行了netstat -anp | grep 80,发现本地并没有任何程序监听此端口。

瞬间灵光一闪,明白了,重启之后Nginx还没启动。

手动执行nginx,然后刷新网页,一切正常了….