昨天下午三点,宝塔我盯着浏览器里那个旋转的端口打加载图标,足足等了四十秒。宝塔宝塔面板的端口打8888端口,又打不开了。宝塔这不是端口打第一次,也肯定不是宝塔最后一次。
我第一反应是端口打服务器挂了。赶紧ssh连上去,宝塔uptime一看,端口打运行时间28天,宝塔负载0.02,端口打内存还剩一大半。宝塔服务器活得好好的端口打。那问题出在哪?宝塔
先查防火墙。firewall-cmd --list-ports,输出里赫然写着8888/tcp。规则在,端口开着。再查宝塔面板状态,bt status,显示运行中。诡异了,一切正常,可就是访问不了。
这时候我才想起来,昨天下午改过安全组。阿里云的控制台里,我顺手把入方向规则整理了一遍,删了两条旧规则。你猜怎么着?8888端口那条规则,被我误删了。云服务商的安全组,优先级比服务器内部防火墙高得多。你在服务器里把防火墙关了都没用,安全组不放行,流量根本到不了服务器。
这种问题最坑的地方在于,它不像服务器宕机那么明显。你查服务器状态,一切正常;查本地防火墙,规则也在;查宝塔进程,活着。可就是连不上。我见过不少新手在这上面折腾半天,最后发现是云控制台里某个不起眼的开关没开。
解决办法其实很简单。登录云服务商的控制台,找到安全组配置,把8888端口加回入方向规则就行。但这里有个细节——来源IP别填0.0.0.0/0,那等于把宝塔面板裸奔在公网上。我习惯只允许自己的办公网IP段访问,或者干脆用VPN连进去再操作。
还有种情况,服务器本身开了多个网卡,宝塔默认监听的是内网IP。你从公网访问,数据包到了服务器,但宝塔进程没监听公网网卡,连接自然被拒。用netstat -tlnp | grep 8888看看监听地址,如果显示的是127.0.0.1或者内网IP,那就得去宝塔配置里改监听IP。
最后说个土办法,特别管用。直接重启宝塔面板,命令是bt,然后选重启。有些时候面板进程假死,端口占着但服务没响应,重启能解决八成问题。别嫌这方法粗暴,运维这行当,能快速解决问题的方法就是好方法。
现在我的习惯是,每次改完服务器配置,第一件事不是刷新页面,而是先telnet一下8888端口通不通。通了再开浏览器。省得又对着那个破加载图标干瞪眼。
顶: 23248踩: 2724






评论专区