做站一段时间后,很多朋友都会因为换配置、换服务商进行网站搬家,也就是把网站从旧主机迁移到新主机。但不少人搬完家输入域名,发现打不开,瞬间就慌了,以为哪里搞砸了整个网站。其实网站搬家后打不开,百分之九十都是一些小问题,只要按顺序分层排查,很快就能找到问题根源解决掉。今天我就把多年搬家总结的排查步骤分享给大家,新手也能跟着一步步操作,不用再找服务商半天得不到回复。

先排除本地缓存问题,确认是不是真故障
很多时候你自己打不开,其实网站是正常的,问题出在你本地的DNS或者浏览器缓存。因为你改了域名解析,本地缓存还没更新,所以还指向旧的IP,自然就打不开了。你可以先打开浏览器的隐私/无痕窗口,重新输入域名访问,如果无痕窗口能打开,那就是你本地浏览器缓存的问题,清一下缓存就能正常访问了。也可以换个设备,比如用手机流量访问,不要连同一个wifi,如果手机能打开,那就是本地网络缓存没更新,等几个小时自动更新就好,不用折腾服务器那边。
检查域名解析是否更新到新主机IP
如果换设备换网络还是打不开,接下来就要查域名解析了,这是搬家后最常见的问题。很多朋友换了新主机,忘了改域名解析,或者改了解析还没生效,还有的填错了新主机的IP。先登录你的域名管理后台,找到对应域名的解析记录,看A记录是不是填的新主机的公网IP,如果用了CDN加速,要确认CDN的源站IP是不是改成新主机的IP了。你也可以在本地电脑用`nslookup 你的域名`命令查询,看解析出来的IP是不是新主机的IP,如果还是旧IP,那就是解析没改或者没生效,国内解析一般几小时到二十四小时就能生效,超过二十四小时还是不对,就要检查域名的DNS服务器设置是不是正确。
确认新主机已经绑定了你的域名
解析IP正确还是打不开,接下来就要看新主机有没有绑定你的域名。不管你用的是虚拟主机还是自己搭环境的云服务器,都需要把域名绑定到对应站点才能正常访问。如果是虚拟主机,登录主机管理后台,找到域名绑定的入口,确认你的域名已经添加到绑定列表里,有没有被误删或者绑定错了站点。如果是云服务器自己搭的nginx或者apache环境,要打开web配置文件,看`server_name`是不是正确填写了你的域名,有没有拼写错误,多一个点少一个字符都不行,改完配置之后一定要记得重启web服务,再重新测试访问。
检查服务器防火墙和端口是否放通
前面两步都没问题,接下来就要查端口和防火墙了,很多新手都栽在这一步。云服务器默认的安全组很多是不放通80、443端口的,服务器内部的防火墙也会默认拦截这两个端口,外部自然就访问不了。先登录云服务器的后台,找到安全组设置,看入方向规则是不是已经放通了80和443端口,如果你用了其他端口比如8080,也要对应放通。然后登录服务器,检查内部防火墙,比如用`firewall-cmd –list-ports`命令查看已经开放的端口,要是没有80和443,就添加对应的端口规则,然后重启防火墙就可以了。
检查网站程序和数据库连接是否正常
端口也没问题,接下来就要排查网站程序和数据库了。先看你迁移过来的程序文件是不是完整,有没有漏传文件,核心目录的权限是不是设置正确,比如PHP网站的`wp-content`目录,需要给对读写权限才能正常运行。然后看数据库,你是不是把整个数据库都导入新主机了,配置文件里的数据库连接信息是不是改对了,很多人搬家的时候只搬了程序,忘了改配置文件里的数据库地址、用户名、密码,导致程序连不上数据库,自然就打不开了。你可以写一个简单的测试文件连接数据库,看能不能正常连接,快速排除数据库问题。
检查HTTPS证书和跳转配置是否正确
现在大部分网站都用HTTPS,HTTPS配置错了也会导致打不开。你先确认SSL证书是不是已经迁移到新主机,配置文件里的证书路径是不是写对了,证书有没有过期。如果配置了HTTP跳HTTPS,要看跳转规则写的对不对,有没有跳错导致死循环。你可以先试试直接用HTTP访问域名,如果HTTP能打开HTTPS打不开,那基本就能确定是HTTPS配置的问题,重新核对证书路径、端口和跳转规则就能解决。要是HTTP也打不开,那回到前面的步骤重新排查。
旧主机不要急着停服,避免解析未完全生效
还有一种情况,就是你改了解析,立刻就把旧主机停了,这时候全球各地的DNS缓存还没更新,部分用户访问旧主机就会打不开,其实你的配置都是对的,就是解析还没完全生效。所以搬家完成后,最好让旧主机再运行两到三天,等全球DNS都更新完成之后,再停掉旧主机,这样就不会有用户打不开的情况了。如果是换域名搬家,还要检查旧域名的301跳转是不是配置到新域名,新域名的解析是不是正确,避免跳错地址导致打不开。
总的来说,网站搬家后打不开很少是严重的故障,大多都是前面说的这几个常见问题,只要从外到内按顺序排查,很快就能定位问题。不要一打不开就慌了手脚,乱改一通反而把简单的问题搞复杂。按照先本地缓存,再解析,再绑定,再端口,再程序数据库,最后HTTPS的顺序一步步来,大部分故障十分钟就能解决,就算是复杂问题,也能快速理清方向,不会让网站长时间处于无法访问的状态,把对排名和用户体验的影响降到最低。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!