全国咨询热线:18720358503

网站预缓存文件专用工具,提高网站总体载入速

类别:行业新闻 发布时间:2021-03-23 浏览人次:

了解Docker的朋友能够根据Docker器皿来跑这一专用工具(Docker安裝参照前文),依靠软件早已经集成化好啦,也不必须侵入当地自然环境了,指令以下:


docker run --rm --net=host -ti jagerzhang/pre-cache:latest \
 --sitemap=sitemap.xml \
 --cacheheader=cf-cache-status

假如是拉取DockerHub的速率很慢,还可以先在当地编译程序Docker镜像系统,再跑上边的指令,编译程序方式以下:


yum install -y python-pip pip install --upgrade pip -i pypi/simple/ pip install -r requirements.txt -i pypi/simple/
from pre_cache import preCache
pre = preCache(sitemap="sitemap.xml",
 host=None,
 size=10,
 timeout=10,
 cache_header="cf-cache-status",
 user_agent="Pre-cache/python-requests/2.22.0",
 verify=False)
pre.start() 

[[email protected] ~]# docker run -ti --net=host jagerzhang/pre-cache:latest --host=127.0.0.1:8443 --sitemap=sitemap.xml --cacheheader=x-cache-redis
站点:sitemap.xml
特定服务器:127.0.0.1:8443
高并发总数:20
请求超时時间:10秒
缓存文件标志:x-cache-redis
UA 标志:Pre-cache/python-requests/2.22.0
预缓存文件刚开始:
---------------------------------------------------------
 
 缓存文件标志头:X-Cache-Redis: BYPASS
不能缓存文件网页页面:goodarticles 缓存文件标志头:X-Cache-Redis: BYPASS
不能缓存文件网页页面:tag/google 缓存文件标志头:X-Cache-Redis: BYPASS
---------------------------------------------------------
预缓存文件进行,网页页面数量:897,用时16秒
已被缓存文件网页页面数:893
不能缓存文件网页页面数:3
缓存文件标志头缺少网页页面数:1

Ps:以便让大伙儿迅速见到实际效果,这儿就立即贴张戈blog的预缓存文件指令了,大伙儿瞻前顾后,也不要无趣扫一个网站了。


[[email protected] ~]# python pre_cache.py --help
usage: pre_cache.py [-h] -s SITEMAP [-S SIZE] [-t TIMEOUT] [-H HOST]
 [-c CACHEHEADER] [-U USERAGENT] [-v VERIFY]
网站预缓存文件脚本制作,适用应用CDN或当地有静态数据缓存文件的网站.
optional arguments:
 -h, --help show this help message and exit
 -s SITEMAP, --sitemap SITEMAP
 sitmapsitemap详细地址
 -S SIZE, --size SIZE 高并发恳求总数,默认设置20
 -t TIMEOUT, --timeout TIMEOUT
 单独恳求的请求超时時间,默认设置10s
 -H HOST, --host HOST 特定真正服务器,例如 127.0.0.1:8080
 -c CACHEHEADER, --cacheheader CACHEHEADER
 缓存文件标志,例如: x-cache
 -u USERAGENT, --useragent USERAGENT
 特定UA标志,默认设置 Pre-cache/python-
 requests/__version__
 -v VERIFY, --verify VERIFY
 是不是校检SSL,默认设置不校检 

主要参数务必默认设置值表明--sitemap / -s是无特定sitmapsitemap文档网站地址,务必为xml文档文件格式。--cacheheader / -c否无特定响应头里边的缓存文件标志名字,例如CF为cf-cache-status,不特定不危害作用,可是无统计分析信息内容。--host / -H否无特定实际服务器到访问网页页面,即绕开CDN或代理商浏览真正服务器,适用端口号,例如 127.0.0.1:8080。--size / -S否20特定预缓存文件时高并发浏览的总数,并不是越大就越好,必须自定检测总体用时到来出最好值。--useragent / -u否见表明自定恳求时的User-Agent标志来仿真模拟顾客端,默认设置值:Pre-cache/python-requests/xx.xx。--timeout / -t否10特定单独恳求的请求超时時间,默认设置10秒。--verify / -v否False是不是认证SSL资格证书,维持默认设置就可以,打开认证将会没法适用特定--host来预缓存文件。

全部专用工具的基本原理是先恳求sitemap內容,随后对sitemap里边的url开展爬扫,因而--sitemap这一主要参数是务必主要参数,特定为网站的sitemap详细地址就可以,例如:--sitemap=sitemap.xml,必须留意的是这一xml务必是xml文件格式,这儿强烈推荐应用我blog以前共享的sitemap纯编码版本号。假如是用软件转化成的,将会是好几个sitemap详细地址,随后有一个归纳的sitemap导航栏,这类状况得话只必须将这一主要参数特定为实际的分页查询sitemap详细地址,且必须各自实行数次。


缓存文件种类头顶部名字普遍值Nginx 缓存文件X-Cache/或自定HIT,MISS,EXPIRED,BYPASSCloudFlarecf-cache-statusHIT,MISS,EXPIRED,DYNAMIC腾迅云CDNx-cache-lookupHIT/MISS/EXPIRED/BYPASS From Upstream/XXX阿里巴巴云CDNX-CacheHIT,MISS,EXPIRED,BYPASS

假如没有所述类型或是自定过,大家还可以根据访问器开发设计者方式查询,方式为:访问器开启网页页面-- F12-- NETWORK-- 更新-- 查询响应头:


一般出現有HIT,MISS,EXPIRED,BYPASS 值的便是大家这一主要参数必须特定的名字,例如图上的 cf-cache-status,那么我们运作专用工具的情况下只必须特定为 --cacheheaer=cf-cache-status 就可以。自然,假如有双层缓存文件时,必须留意甄别。例如CDN有一个HIT,当地Nginx也是有个HIT,那麼看着你必须缓存文件哪个就特定哪一个了。


这一主要参数就较为好用了,能够特定真正IP到访问网页页面,且适用自定端口号。例如 --host=127.0.0.1 或 --host=127.0.0.1:8080,特定后专用工具可能恳求到特定的服务器开展資源拉取完成特定连接点预缓存文件。例如张戈blog开过CDN缓存文件同时当地也打开了Nginx缓存文件,我也能够以下分2步实行:


--sitemap=sitemap.xml \ --host=127.0.0.1:8443 \ # 特定当地WEB服务监视的8443端口号 --cacheheader=x-cache-redis # 我这里自定了一个缓存文件头 # 随后CDN预缓存文件(这儿必须仿冒一下访问器UA,不然CloudFlare阻拦大部分分恳求,自然仿冒后也会出现小量阻拦,危害并不大): python pre_cache.py \ --sitemap=sitemap.xml \ --cacheheader=cf-cache-status \ --useragent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"

前文早已详尽详细介绍了怎样运作这一专用工具,那然后大家必须根据crontab加上一个定时执行每日任务,按时开展预缓存文件。例如我blog必须在当地、百度搜索云加快及其CloudFlare 3个方面做预缓存文件,那麼就将根据Docker运作的命装包成shell脚本制作,并依照先预缓存文件当地,随后再缓预存CDN的次序:


source /etc/profile # 留意:根据crontab实行docker是沒有tty终端设备的,因此下边的docker的主要参数不可以有-t # 当地预缓存文件 docker run --net=host --rm -i \ jagerzhang/pre-cache:latest \ --sitemap=sitemap.xml \ --cacheheader=x-cache-redis --host=127.0.0.1:18443 \ --size=50 # 百度搜索云加快预缓存文件 docker run --net=host --rm -i \ jagerzhang/pre-cache:latest \ --sitemap=sitemap.xml \ --cacheheader=cf-cache-status \ --size=50 # CloudFlare预缓存文件 docker run --net=host --rm -i \ jagerzhang/pre-cache:latest \ --sitemap=sitemap.xml \ --cacheheader=cf-cache-status \ --size=20 \ --useragent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
# 进到定时执行每日任务编写,插进以下指令行:
[[email protected] ~]# crontab -e 
* 1 * * * bash /domp/opt/pre_cache.sh >/dev/null 2> 1
# :wq储存撤出

之上便是这一专用工具的详尽详细介绍了,总体设计方案、编码逻辑性都较为简易,现阶段这一专用工具早已提交来到Github,而且在Docker Hub制作了Docker镜像系统,大伙儿应用后感觉好用得话能够给个星星,有哪些提议还可以留言板留言或github提issue:


Jager 2020-2-11 · 9:12

嗯,这个相近wp-super-cache里边的预缓存文件软件,适用当地缓存文件的预缓存文件。
但是我这一构思是合适一切缓存文件的计划方案,例如缓存文件到CDN这类,较为形象化粗鲁吧。


小伙子 2020-3-12 · 21:12 巨头是那样嘛?

推荐阅读

网站预缓存文件专用工具,提高网站总体载入速

了解Docker的朋友能够根据Docker器皿来跑这一专用工具(Docker安裝参照前文),依靠软件早已经集成化好啦,也不必须侵入当地自然环境了,指令以下:docker run --rm --net=host -ti jagerzhang/p...

2021-03-23
CCKiller:Linux轻量CC进攻防御力专用工具,秒级查

共享以前我务必先声明一下,大家都知道,DDoS进攻指的是遍布式回绝服务。而CC进攻仅仅DDoS进攻的一种,文中所论述的CC进攻,指的是单独IP做到大家设置好的阀值高并发恳求,并非大量...

2021-03-23
买东西网站建设

聚集中国外设计方案师、全新升级的HTML5客户感受、为您打造出的知名品牌官方网网站! 公司优惠套餐内容:送国际性网站域名、阿里巴巴云储存空间、包办理备案。花一点钱,也是有...

2021-03-23
教你几招,怎样避免QQ登陆密码失窃

教你几招,怎样避免QQ登陆密码失窃 j :37 阅读文章 298 次 评价 0 条 如今QQ失窃的状况還是屡见看不到,那麼怎样避免自身的QQ失窃呢?QQ失窃通常是由于中了病毒感染以后造成的。能够...

2021-03-23
认证码作用详细介绍

网络投票认证码指导击网络投票后,必须键入一个4十位数的认证码后才可以网络投票取得成功。打开认证码会有效避免刷投票。可在 主题活动管理方法 - 编写 - 高級设定 - 防刷投票设定...

2021-03-23
检索:十年更改营销推广

打开科学研究化营销推广时期 十年磨一剑。从二零零一年到二零一一年,我国互连网亲身经历了一个过山车一样的发展趋势全过程,从最开始的暴热澎涨到泡沫塑料粉碎,从成千上万...

2021-03-23
X

400-8700-61718720358503
企业邮箱2639601583@qq.com
官方微信