下午的时候,有个独立站私教培训的学员给我发消息说vultr vps主机上的宝塔面板打不开了,以前重启一下就可以解决的。
现在应该是重启过以后,还是打不开宝塔面板。
于是,我让他先在dos下连接一下vps主机看一下,能不能连的上,如果能连进去,就说明vps主机本身是没有问题的,那么我们就要从宝塔面板本身来查原因了。
后来下午我回复了消息以后,学员一直没给我反馈,于是晚上的时候我又问了一下学员问题解决了没有。
得到的答复是vps主机连不上,总是密码错,于是我就让他给我发远程协助。
就在他给我发了远程之后,他就登录进vps主机了,OK,那这里我们就可以直接排除vps主机本身的问题了。
接下来,我开始远程排查宝塔面板的问题。
考虑到vultr这家有很多的IP是被国内墙掉的,所以:
第一步:先检查是否是IP地址被墙了
我用国内和国外的IP,都分别访问了一下宝塔URL,打不开,那说明并不是被墙了,IP本身是没有问题的。
一般来说正常不会考虑这一点,尤其是网站本来运营的好好的,而且又是正常的网站,一般不会无缘无故导致IP被墙的,但是鉴于vultr这家vps主机本身很多IP是有问题的,出于保险,所以先排除这个原因。
第二步:检查宝塔面板是否启动正常
在dos下,用bt status这个命令,之后我看到宝塔面板的服务是正常的。
这里就有点奇怪了,按理来说,既然宝塔服务是正常的,没有理由打不开宝塔面板,很奇怪。
第三步:检查宝塔面板端口是否正常
这个问题猎者出海以前遇到过,就是原来的宝塔端口被占用了,导致宝塔面板无法访问。
这么多年来,这个原因导致的宝塔面板访问问题,我还是第一次遇到,不过毕竟是遇到过的,所以第一时间还是检查了一下端口情况。
在dos下输入命令:
netstat -tulnp | grep 10235
得到的结果是:
tcp6 0 0 :::10235 :::* LISTEN 1530/python3
OK。这个结果说明端口是正常的,而且是python3的进程,可以确定就是宝塔面板使用了这端口。
所以,这里猎者出海又排除掉了端口的问题。
到这里,我又回过头问了一下学员,是不是突然就导致宝塔面板打不开了,而没有做任何的改动之类的。
因为我要确定一下,如果是突然出现的情况,那么所有的问题始终还是需要从宝塔面板本身来找,而不是从其他方面来入手。
第四步:检查宝塔主进程是否正常
就是看下宝塔程序是否在正常运营状态中的。
输入DOS命令:
ps aux | grep BT-Panel
得到的结果:
root 1530 0.5 3.2 227000 15900 ? S 09:30 0:23 python3 /www/server/panel/BT-Panel
又是正常的情况,宝塔面板是启动的,并无异常。
这个时候,找不到问题,只能考虑是否是宝塔面板有问题丢失了或者被修改了。
第五步:检查Python环境是否损坏
输入dos命令:
python3 /www/server/panel/tools.pyc panel status
得到结果:
python3: can't open file '/www/server/panel/tools.pyc': [Errno 2] No such file or directory
这说明vps主机上的宝塔面板主程序文件已经缺失或损坏。
找到大概原因之后,解决方案就非常简单了,我就直接不去考虑到底是什么文件损坏或者丢失了,直接用最简单的一招:
用宝塔官方修复命令即可。
DOS命令如下:
curl -sSO http://download.bt.cn/install/update_panel.sh && bash update_panel.sh
OK,经过1分钟的等待,修复完成,再次打开宝塔面板,访问正常了。
但是打开网站发现还是访问不了,于是我登录进宝塔看一下,发现是nginx处于关闭状态。
我点击重启了一下,发现出错了,错误如下:
Nginx配置规则错误:
nginx version: nginx/1.26.3 nginx: [emerg] cannot load certificate "/etc/letsencrypt/live/n8n.域名.com/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live/n8n.域名.com/fullchain.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file) nginx: configuration file /www/server/nginx/conf/nginx.conf test failed
秉承,懒得找问题的答案,而是要找最快解决方案的原则。
直接先卸载了nginx,然后重新安装了一下,启动一切正常,网站也能访问了,问题全部搞定。
一共用了30分钟的时间,搞定了。
发表评论