|
导读网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立... 网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。 本篇文章给大家带来的内容是关于Nginx配置fastcgi cache的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。缓存机制 Nginx提供了基于代理(proxy)和基于fastcgi的两种缓存方式,两者指令集十分相似,使用上差别不大。由于本站博客采用Nginx+PHP-FPM架构,故而使用基于fastcgi的缓存,即fastcgi cache。 配置 fastcgi cache的机制是将后端CGI服务返回的页面缓存起来,后续请求到来时直接返回页面,省去与后端服务通信及生成页面的消耗。fastcgi cache与squid、varnish、CDN等原理类似,由于减少了后端请求,原则上性能会比WordPress的各种缓存插件高出许多。 fastcgi cache隶属于fastcgi模块,而fastcgi模块又归属于http模块,所以与缓存相关的配置应当都出现在这两个及下属配置块中(主要是http, server和location)。 根据官方文档,博客站点采用的缓存配置如下: http {
...
fastcgi_connect_timeout 30s;
# 全局设置, fastcgi_cache_path只能出现在http配置块中
# fastcgi_cache_path设置全局的缓存路径、文件大小等,可多次出现设置不同的缓存池
fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=WORDPRESS:10m inactive=10m max_size=500m;
fastcgi_cache_key $scheme$request_method$host$request_uri;
# 设置使用过期缓存的情形:后端错误、超时等
fastcgi_cache_use_stale error timeout invalid_header http_500 http_503;
...
server {
...
# 缓存策略指示变量
set $skip_cache 0;
# 缓存策略
if ($query_string != "") {
set $skip_cache 1;
}
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|sitemap(_index)?.xml") {
set $skip_cache 1;
}
# 登录用户或发表评论者
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
set $skip_cache 1;
}
location ~ \.php$ {
...
# 使用的keyzone,这里使用http中定义的WORDPRESS
fastcgi_cache WORDPRESS;
# 是否跳过缓存
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
# 后端返回成功的情况下缓存10分钟
fastcgi_cache_valid 200 10m;
# 添加header字段,指示缓存命中状态(调试使用)
add_header X-Cache $upstream_cache_status;
}
}
}上述配置做了以下工作:
重启Nginx,然后访问页面,查看页面的header状态和响应时间。可以看到,请求一次过后(次数可通过 相关文章推荐: 以上就是Nginx配置fastcgi cache的方法介绍的详细内容,更多请关注php中文网其它相关文章! 网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。 |
温馨提示:喜欢本站的话,请收藏一下本站!