我的博客是在2012年建立的,一直放在阿里云,平日作为笔记和折腾日志用。几年下来内容也更新了不少,虽说乱七八糟,但也都是自己宝贵的经历。17年的时候,忙于学业完全无心顾及服务器的维护,忘记了给数据库续费,导致所有数据全部丢失。好在对全站做了静态化并且存在了七牛才得以保留全站的内容。都是自动化的,每次更新完之后跑一下就行了。
方案:
1. 全站文章列表伪静态——固定链接以.html结尾,如:/article/%post_id%.html
2.1 Nginx反代+保存缓存,这个没啥好说的宝塔就有这功能。
反代设置好之后需要自己先遍历一遍sitemap,代码参考2.3。
提示:html结尾是为了静态托管/保存 。
nginx反代缓存后再次访问的时候就不访问源站了。
2.2 七牛的镜像存储功能。
可以直接预取文件和目录比较方便。
提示:并非动静分离,而是完全静态,即使源站没了网页文件还能留下来。
2.3 Shell脚本批量保存网页文件:
首先通过sitemap提取出所有文章的链接,到pageurl.txt,然后sh download.sh pageurl.txt,最后把wp-content下的东西全部也下载下来。
while read linedo{ 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 < $1exit 0
以上三选一,当年用的是七牛。
3. 找个能托管html的地方放静态文件即可。
未经允许不得转载:Just My Socks中文教程网 » 免插件自动化的的WordPress全站真静态化方案[CloudRaft云筏科技提供]