本文最后更新于22 天前,如有版本迭代或环境切变,可告知邮箱到xianghy_m@sina.com指正修改。
🔍 1. DNS 解析问题
- 排查项目: 域名是否已正确解析到新服务器的IP地址。
📡 2. 网络连通性问题
- 排查项目: 本地到新服务器的网络链路是否通畅。
- 解决方法:
- 使用
ping <服务器IP>
测试基本连通性和延迟。若超时,可能是服务器禁用了ICMP或网络中断。 - 使用
tracert <服务器IP>
(Windows)或traceroute <服务器IP>
(Linux/macOS)追踪数据包路径,定位网络故障点。
- 使用
🛡️ 3. 安全组/防火墙规则
- 排查项目: 服务器防火墙及云平台安全组是否放行了必要端口。
- 解决方法:
- 服务器防火墙: 检查iptables、firewalld等设置,确保允许HTTP(80)、HTTPS(443)等端口的入站连接。必要时可临时关闭防火墙测试(
systemctl stop firewalld
),但仅用于测试,完成后务必重新开启。 - 云安全组: 登录云服务商(如阿里云、腾讯云)管理控制台,检查安全组规则,确保入方向(Inbound) 允许80和443端口的流量。
- 服务器防火墙: 检查iptables、firewalld等设置,确保允许HTTP(80)、HTTPS(443)等端口的入站连接。必要时可临时关闭防火墙测试(
🖥️ 4. Web服务器状态与配置
- 排查项目: Nginx/Apache等Web服务是否运行,配置是否正确。
- 解决方法:
- 检查服务状态: 执行
systemctl status nginx
(或httpd
/apache2
)确保Web服务器正在运行。 - 检查端口监听: 执行
netstat -tuln | grep ':80\|:443'
或ss -tuln | grep ':80\|:443'
,确认Web服务器正在监听80和443端口。
- 检查服务状态: 执行
📁 5. 文件与权限
- 排查项目: 网站文件是否完整上传,Web服务器是否有权读取。
- 解决方法:
- 文件完整性: 确认所有网站文件(包括程序、图片、静态资源等)已完整上传至新服务器,且目录结构正确。
🗃️ 6. 数据库连接
- 排查项目: 数据库服务是否运行,应用程序连接配置是否正确。
- 解决方法:
- 检查数据库服务: 运行
systemctl status mysql
(或mariadb
)确保数据库服务已启动。
- 检查数据库服务: 运行
🔐 7. SSL证书问题
- 排查项目: 如果使用HTTPS,SSL证书是否配置正确。
- 解决方法:
- 检查证书路径: 在Web服务器配置中(如Nginx的
ssl_certificate
和ssl_certificate_key
指令),确保证书和私钥文件的路径正确。 - 检查证书有效性: 确保证书没有过期,且是针对当前正在访问的域名签发的。
- 检查证书路径: 在Web服务器配置中(如Nginx的
♻️ 8. 缓存与重定向
- 排查项目: 浏览器、服务器或CDN缓存可能导致访问到旧内容。错误的重定向规则可能导致循环或404错误。
- 解决方法:
- 清除缓存: 清除浏览器缓存,并在服务器或CDN(如果使用)上清除缓存。
- 检查重定向规则: 如果设置了301/302重定向,检查规则是否正确,避免重定向循环或指向错误地址。
📜 9. 日志:终极排查利器
⚠️ 重要: 当以上排查均未发现问题时,务必查看服务器日志,它通常能直接告诉你错误原因。
- Web服务器错误日志:
- Nginx:
/var/log/nginx/error.log
- Apache:
/var/log/apache2/error_log
(路径可能略有不同)
- Nginx:
- 数据库错误日志: MySQL/MariaDB:
/var/log/mysql/error.log
使用tail -f /path/to/error.log
实时查看日志,复现访问错误时观察日志输出。
💡 额外提示:迁移前、后的重要步骤
- 迁移前:
- 完整备份: 务必对旧服务器的网站文件、数据库、配置文件进行完整备份。
- 在新服务器搭建测试环境: 尽可能先在新服务器上通过Hosts绑定域名进行全功能测试,确保一切正常后再修改DNS解析。
- 迁移后:
- 耐心等待DNS传播: DNS更新需要时间全球生效,期间部分用户可能访问到旧服务器,这正常。
- 持续监控: 迁移后一段时间内,密切关注网站访问情况、搜索引擎收录(如有需要)及服务器性能。