如何使用清漆加快我的网站吗
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.1,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.3(当前的稳定版本)。
如何使用清漆加快我的网站吗
因为Symfonob娱乐下载y2缓存使用标准HTTP缓存头HTTP缓存可以很容易地替换为其他反向代理。清漆是一个强大的、开源的、HTTP加速器能够迅速服务缓存的内容,包括支持边边包括。
配置
正如前面看到的,Symfony2足够聪明ob娱乐下载来检测它是否会谈到反向代理,了解应急服务国际公司。它是开箱即用的,当你使用Symfony2反向代理,但你需要一个特殊的配置,让它使用ob娱乐下载清漆。值得庆幸的是,Symfoob娱乐下载ny2依赖另一个标准Akamai写的(边缘结构),所以本章配置技巧很有用,即使你不使用Symfony2。ob娱乐下载
请注意
清漆只支持src
应急服务国际公司标签属性(onerror
和alt
属性被忽略)。
首先,配置清漆,以便它的ESI支持通过添加一个广告Surrogate-Capability
头请求转发到后端应用程序:
1 2 3 4
将调用vcl_recv{/ /添加子Surrogate-Capability头宣布应急服务国际公司的支持。设置req.http。Surrogate-Capability =“abc = ESI / 1.0”;}
然后,优化清漆,这样它只解析响应内容当至少有一个应急服务国际公司标签通过检查Surrogate-Control
头自动Symfony2补ob娱乐下载充道:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
子vcl_fetch{/ *检查应急服务国际公司确认和删除如果(beresp.http Surrogate-Control标题* /。Surrogate-Control ~“ESI / 1.0”){复原beresp.http.Surrogate-Control;/ /清漆> = 3.0 beresp设置。do_esi = true;/ /清漆< 3.0 / / esi;}}
谨慎
与应急服务国际公司是不支持压缩清漆直到3.0版本(阅读GZIP和清漆)。如果你不使用清漆3.0,把面前的web服务器执行压缩清漆。
缓存失效
你不应该需要缓存的数据无效,因为失效已经考虑在HTTP缓存模型(见HTTP缓存)。
不过,清漆可配置为接受一个特殊的HTTP清洗
方法将失效缓存对于一个给定的资源:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
/ *在本地机器上连接到后端服务器在端口8080上* /后台默认{.host =“127.0.0.1”;.port = " 8080 ";}将调用vcl_recv{/ *子清漆违约行为不支持清除。匹配清除请求并立即做一个缓存查找,否则清漆将请求直接管到后端,绕过缓存* /如果(点播。请求= =“清洗”){返回(查找);子vcl_hit}}{/ /清除请求如果要求相匹配。请求= =“清洗”){/ /力对象过期清漆< 3.0 obj。ttl = 0;/ /做一个实际清洗清漆> = 3.0 / /清洗;错误200“清除”;子vcl_miss}}{/ *匹配清除请求和显示请求不是存储在缓存中。如果(要求* /。request == "PURGE") { error 404 "Not purged"; } }
谨慎
你必须保护清洗
HTTP方法避免随机人清除你的缓存数据。你可以通过设置一个访问列表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17日18 19 20 21日22日23日24日25日26日27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
/ *在本地机器上连接到后端服务器在端口8080上* /后台默认{.host =“127.0.0.1”;.port = " 8080 ";}/ / Acl可以包含IP,子网和主机名Acl清洗{“localhost”;“192.168.55.0”/ 24;}将调用vcl_recv{/ /匹配子清洗要求避免缓存绕过(点播。请求= =“清洗”){/ /匹配客户机IP acl如果(!客户机。ip ~清洗){/ /拒绝访问错误405“不允许的。”;}/ /执行缓存查找返回(查找);子vcl_hit}}{/ /清除请求如果要求相匹配。请求= =“清洗”){/ /力对象过期清漆< 3.0 obj。ttl = 0;/ /做一个实际清洗清漆> = 3.0 / /清洗;错误200“清除”; } } sub vcl_miss { // Match PURGE request if (req.request == "PURGE") { // Indicate that the object isn't stored in cache error 404 "Not purged"; } }