网站静态化提速方案

动态站每打开一次首页都要跑一遍模板渲染和数据库查询,内容没变却重复计算。把首页生成成静态 HTML,让服务器直接返回文件,速度能提升数倍。这篇文章记录完整做法。

一、思路

写一个脚本调用网站自身的页面接口拿到渲染结果,保存为 index.html 覆盖默认首页。这样用户访问的是纯静态文件,不再触发动态渲染。

二、静态化脚本

以 PHP 动态站为例,脚本用 cURL 抓取首页并存盘:

<?php
$html = file_get_contents('https://example.com/');
file_put_contents('/www/wwwroot/example.com/index.html', $html);
echo "首页已静态化\n";

三、定时刷新

内容更新后要重新生成,用系统定时任务每天跑一次脚本即可:

# 每天 3:30 重新生成首页
30 3 * * * /usr/bin/php /path/to/static.php >> /tmp/static.log 2>&1

四、默认文档优先级

确保服务器优先返回 index.html 而不是动态入口:在 Nginx 的 index 指令里把静态文件放在前面,同时给静态文件加长缓存头,减少重复请求。