AWS EC2实例WordPress网站ERR_CONNECTION_TIMED_OUT问题排查求助
故障原因分析与排查步骤
结合你的场景(磁盘满后扩容仍无法访问、Apache运行正常、曾批量导入大量商品),以下是几种可能的原因及对应的排查方案:
1. Inode耗尽(常见隐性问题)
磁盘空间充足但inode被耗尽时,系统无法创建新文件(如日志、缓存、临时文件),会导致网站无法正常运行。批量导入商品可能生成大量小文件(如商品缩略图、导入临时文件),容易耗尽inode。
- 排查命令:
df -i - 如果inode使用率为100%,需要清理大量小文件:比如清理WP All Import的临时文件(
wp-content/uploads/wpallimport目录)、旧的日志文件、未使用的插件/主题文件。
2. MySQL异常或数据表损坏
磁盘满时,MySQL可能因无法写入数据而崩溃、产生错误日志,或导致WordPress数据表(尤其是商品相关表)损坏。即使磁盘扩容后,MySQL可能未完全恢复,或损坏的数据表影响网站加载。
- 查看MySQL错误日志:
tail -n 50 /var/log/mysql/error.log - 尝试连接数据库并检查WordPress核心表:
mysql -u 你的数据库用户 -p USE 你的WordPress数据库名; CHECK TABLE wp_posts, wp_postmeta; # 检查商品相关核心表 - 若存在表损坏,执行修复:
REPAIR TABLE wp_posts, wp_postmeta;
3. Apache/PHP运行异常(进程正常但无法处理请求)
Apache进程虽处于监听状态,但磁盘满时可能导致日志写入失败、PHP进程崩溃或内存耗尽,进而无法处理外部请求:
- 查看Apache错误日志:
tail -n 100 /var/log/apache2/error.log - 检查PHP错误日志(若单独配置):
tail -n 100 /var/log/phpX.X-fpm.log(X.X为PHP版本,若用mod_php则日志在Apache错误日志中) - 检查系统内存/CPU占用:
top或htop,看MySQL、Apache进程是否占用过高内存,导致系统资源不足无法处理请求。
4. WordPress缓存/临时文件损坏
磁盘满时,WordPress缓存插件、WP All Import的临时文件可能因写入失败而损坏,即使磁盘扩容后,这些损坏文件仍会阻碍网站加载:
- 手动清理WordPress缓存目录:删除
wp-content/cache下的所有文件 - 清理WP All Import临时文件:删除
wp-content/uploads/wpallimport下的旧导入任务文件 - 检查WordPress核心文件完整性:对比官方WordPress包,确认wp-includes、wp-admin目录下的文件未损坏(可重新上传核心文件覆盖)
5. EC2网络接口异常
磁盘满导致系统异常时,可能触发EC2网络接口重置或弹性IP绑定异常,即使安全组配置未变,外部仍无法访问:
- 尝试重启EC2实例(重启前建议备份数据库和网站文件)
- 在AWS控制台检查实例的网络状态:确认弹性IP已正确绑定,实例的网络流量监控是否有正常的入站/出站数据
内容的提问来源于stack exchange,提问作者user3303717
相关产品推荐
相关产品推荐

