以前博客还是用WordPress的时候,使用过缓存插件 Wp Super Cache

这个插件可以说是wp标配,用于生成静态页面,大幅减少高并发大流量时CPU及内存的占用。且静态页面的加载速度不是动态页面能比的,网站速度翻倍岂不妙哉 ::aru:tongue::

搬家typecho之后却发现typecho并没有现成的插件能实现静态页面。所以找到了这个方案:
 

PHP实现首页静态化

网站根目录创建一个空白文件,命名为cache.php

将代码copy到这个文档中

<?php
$nowtime=time();
$pastsec = $nowtime - $_GET["t"];
if($pastsec<600)
{
exit; //10分钟更新一次,时间可以自己调整
}
ob_start(); //打开缓冲区
include("index.php");
$content = ob_get_contents(); //得到缓冲区的内容
$content .= "\n<script language=javascript src=\"f5.php?t=".$nowtime."\"></script>"; //加上调用更新程序的代码

file_put_contents("index.html",$content);
if (!function_exists("file_put_contents"))
{
function file_put_contents($fn,$fs)
{
$fp=fopen($fn,"w+");
fputs($fp,$fs);
fclose($fp);  
}
}
?>

然后保存即可

使用

HTTP/HTTPS访问这个文件以运行:

域名/cache.php

这时候在网站根目录,你会发现一份新生成的index.html

然后设置网站默认文档为index.html即可

 

注意

  • cache.php可以自定义文件名如自定义.php
    这样使用方法即为     域名/自定义.php
  • 更新文章后需要手动访问这个链接以更新缓存,偷懒就设置个定时访问叭 ::aru:cheer::
  • wordpress同样适用

标签: 经验之谈, 教程杂记, 服务器优化

添加新评论