CloudRaft 大佬有话说 : 2019-12-28 01:21:54
【免插件】当年拯救我博客的WordPress全站真静态化方案
本帖最后由 CloudRaft 于 2019-12-28 01:24 编辑
我的博客是在2012年建立的,一直放在阿里云,平日作为笔记和折腾日志用。几年下来内容也更新了不少,虽说乱七八糟,但也都是自己宝贵的经历。
17年的时候,忙于学业完全无心顾及服务器的维护,忘记了给数据库续费,导致所有数据全部丢失。好在对全站做了静态化并且存在了七牛才得以保留全站的内容。
方案:
1. 全站文章列表伪静态——固定链接以.html结尾,如:/article/%post_id%.html
2.1 Nginx反代+保存缓存,这个没啥好说的宝塔就有这功能。
反代设置好之后需要自己先遍历一遍sitemap,代码参考2.3。
2.2 七牛的镜像存储功能(AFF链接 https://portal.qiniu.com/signup?code=1h94f11kxvioi)
https://iuimg.com/images/2019/12/27/f81P.png
可以直接预取文件和目录比较方便。
2.3 shell脚本批量保存网页文件:
首先通过sitemap提取出所有文章的链接,到pageurl.txt,然后sh download.sh pageurl.txt,最后把wp-content下的东西全部也下载下来
while read line
do
{
if [ -n "$line" ]
then
cd /www/wwwroot
url=$(echo "$line" | tr -d ‘r’)
pagedir=$(echo $url | sed -r ‘s/https:////g’)
pagename=$(echo ${pagedir##*/})
pagepath=$(echo ${pagedir%/*})
mkdir -p $pagepath
cd $pagepath
wget -O $pagename `echo $url`
fi
}
done < $1
exit 0
*以上三选一,当年用的是七牛
3. 找个能托管html的地方放静态文件即可
Cee 大佬有话说 : 2019-12-28 16:27:30
本帖最后由 Cee 于 2019-12-28 16:32 编辑
1. 全站文章列表伪静态——固定链接以.html结尾,如:/article/%post_id%.html
首先这一条就没用,尽管你后缀加上 .html,看起来像是个 html,然而它依然是个目录形式。
有 .html 不代表是静态页面,相反没有 .html 的也有可能是纯静态页面。
2.1 Nginx反代+保存缓存,这个没啥好说的宝塔就有这功能。
就算不用缓存插件直接本机服务器缓存也能达到缓存效果,而 Nginx 反代又是图什么呀。
2.2 七牛的镜像存储功能
这条合理,动静分离,既然静态文件全部用 CDN 保存了,那服务器上只剩动态,为何还要 Nginx 反代呢?
补充一点,我觉得 WordPress 快不快,一个是第三方资源的多少问题,一个是主题本身的代码写的好不好,如果你用的主题代码比较精简的话,其他操作不用做我觉得也不会慢,个人觉得缓存和动静分离是必须,其他都可以随意。
xian 大佬有话说 : 2019-12-28 01:23:36
收藏,明天试试。谢谢分享..我佛系博客打开10s也该折腾折腾了
dengdeng 大佬有话说 : 2019-12-28 01:33:02
我是套一个cf,完事:lol
可以测试下速度签名 第三个
guonning2000 大佬有话说 : 2019-12-28 08:01:54
可以试试
hyllgf 大佬有话说 : 2019-12-28 08:16:10
不错啊,厉害了我的哥
chable 大佬有话说 : 2019-12-28 10:14:01
技术达人
单阔 大佬有话说 : 2019-12-28 11:30:57
你博客那个 打开试试速度
nicestill 大佬有话说 : 2019-12-28 12:46:54
弄太多累啊
jpfree 大佬有话说 : 2019-12-28 12:54:57
静态化有什么好处?比如二维码不是失效了吗?
CloudRaft 大佬有话说 : 2019-12-28 16:17:15
nicestill 大佬有话说 : 2019-12-28 12:46
弄太多累啊
都是自动化的,每次更新完之后跑一下就行了