使用fastcgi_cache加速网站

为了提高网站的性能缓存是一把利器,nginx中可以配置fastcig_cache来缓存不需要实时获取的数据实现动静分离,nginx.conf配置如下:

http
{

    …

    fastcgi_connect_timeout 300;#指定连接到后端FastCGI的超时时间
    fastcgi_send_timeout 300;#指定向FastCGI传送请求的超时时间,这个值是已经完成两次握手后向FastCGI传送请求的超时时间
    fastcgi_read_timeout 300;#指定接收FastCGI应答的超时时间,这个值是已经完成两次握手后接收FastCGI应答的超时时间。
    fastcgi_buffer_size 256k;#用于指定读取FastCGI应答第一部分需要多大的缓冲区,这个值表示将使用1个64KB的缓冲区读取应答的第一部分(应答头),可以设置为fastcgi_buffers选项指定的缓冲区大小。
    fastcgi_buffers 4 256k;#指定本地需要用多少和多大的缓冲区来缓冲FastCGI的应答请求。如果一个PHP脚本所产生的页面大小为256KB,那么会为其分配4个64KB的缓冲区来缓存;如果页面大小大于256KB,那么大于256KB的部分会缓存到fastcgi_temp指定的路径中,但是这并不是好方法,因为内存中的数据处理速度要快于硬盘。一般这个值应该为站点中PHP脚本所产生的页面大小的中间值,如果站点大部分脚本所产生的页面大小为256KB,那么可以把这个值设置为“16 16k”、“4 64k”等。
    fastcgi_busy_buffers_size 512k;#默认值是fastcgi_buffers的两倍。
    fastcgi_temp_file_write_size 512k;#表示在写入缓存文件时使用多大的数据块,默认值是fastcgi_buffers的两倍。
    fastcgi_temp_path /dev/shm/factcgi_temp_path 1 2;#生成fastcgi_cache临时文件目录   

    fastcgi_cache_path   /dev/shm/fastcgi_cache  levels=1:2  keys_zone=PHPCACHE:1024m inactive=15m;  #fastcgi_cache缓存目录,可以设置目录哈希层级,比如2:2会生成256*256个字目录,keys_zone是这个缓存空间的名字,cache是用多少内存(这样热门的内容nginx直接放内存,提高访问速度),inactive表示默认失效时间,max_size表示最多用多少硬盘空间,需要注意的是fastcgi_cache缓存是先写在fastcgi_temp_path再移到fastcgi_cache_path,所以这两个目录最好在同一个分区,从0.8.9之后可以在不同的分区,不过还是建议放同一分区。
    fastcgi_cache_key "$scheme$request_method$host$request_uri";#定义fastcgi_cache的key,示例中就以请求的URI作为缓存的key,Nginx会取这个key的md5作为缓存文件,如果设置了缓存哈希目录,Nginx会从后往前取相应的位数做为目录。
    fastcgi_cache_use_stale error  timeout invalid_header http_500; #定义哪些情况下用过期缓存

    …

在server中使用缓存:

server {

    …

    set $no_cache 0;#设置全部缓存

    location /my {
            set $no_cache 1;#设置不缓存/my目录
            rewrite  ^(.*)$  /index.php/$1  last;
            break;
    }

    location ~ .+\.php($|/) {
            set $script $uri;
            set $path_info "/";
            if ($uri ~ "^(.+\.php)(/.+)") {
                set $script $1;
                set $path_info $2;
            }

            fastcgi_cache   PHPCACHE;
            fastcgi_no_cache $no_cache;
            fastcgi_cache_bypass   $no_cache;
            fastcgi_cache_valid   200 302  1h;
            fastcgi_cache_valid   301      1h;
            fastcgi_cache_valid   any      1m;
            fastcgi_cache_min_uses  1;
            fastcgi_ignore_headers Cache-Control Expires;

            fastcgi_pass 127.0.0.1:9001;
            fastcgi_index index.php?IF_REWRITE=1;
            include fastcgi_params;
            fastcgi_param PATH_INFO $path_info;
            fastcgi_param SCRIPT_FILENAME $document_root/$script;
            fastcgi_param SCRIPT_NAME $script;
        }

清空缓存:

url:http://www.xxx.com/zhouyou.html
组成方式:
    httpGETwww.xxx.com/zhouyou.html
返回md5:
    FB9AAC75CE375A1A2419BD1C4AE90731
第一个目录是截取最后一位数字:1
第二个目录为截取最后两个数字:73

进入/dev/shm/fastcgi_cache/1/73 删除FB9AAC75CE375A1A2419BD1C4AE90731文件

时间: 2024-10-11 05:14:03

使用fastcgi_cache加速网站的相关文章

加速网站访问的一些实践体会

自己运营过几个小站,没有任何盈利,为了节省成本,选择的配置比较低,带宽就1M. 前段时间,在个人官网首页搞了几张轮播图,图片还比较大,展示变得更慢了. 因此呢,想总结下关于加速网站访问的一些体会. 1.文件压缩  JS和CSS等静态资源进行压缩,网上有很多压缩工具,建议把压缩做成"可编程"的.  也可以开启gzip压缩,目前还没有尝试过. 大图片,也有必要压缩,现在的手机像素都很高,一张照片就有3MB以上,挺吓人的.  用Freemarker等图片处理工具,压缩下,很有必要.一定程度上

WordPress 后台禁用Google Open Sans字体,加速网站

解决方法很简单,安装启用 Disable Google Fonts 或者 Remove Open Sans font Link from WP core 其中之一即可.或者如果你没有使用WP自带的官方主题,那你添加下面的代码到当前所用的主题的 functions.php 中即可: /** * WordPress 后台禁用Google Open Sans字体,加速网站 * http://www.wpdaxue.com/disable-google-fonts.html */ add_filter(

CDNJS:使用JavaScript CDN加速网站载入速度

架过站的朋友可能多少听过一些 JavaScript Framework,例如:jQuery.Prototype.MooTools 之类的,透过载入这些程式可以在网站里实现更多不同的效果或功能.目前在 Google Libraries API 甚至是 Microsoft Ajax CDN 都能够找到这些程式,但问题是他们只托管最常被用到的函式库,所以这篇文章要介绍另一个更好用的 JavaScript Libraries CDN - CDNJS. cdnjs.com 提供更多.更完整的 JavaSc

学会分析优秀竞争对手的网站加速网站排名

seo优化如何让网站快速进入百度前5页 引言:分析同行优秀的竞争对手的网站可以让你的网站少走弯路,取其优点,进入百度优质站点行列,快速进入百度前5页 为什么要分析优秀竞争对手的网站?(百度第一页的网站) 任何事物的存在必有其存在的理由 网站排在第一位,说明百度认可该网站,说明网站的布局.内容质量.内外链接都符合百度的优质站点标准 百度在分析网站的时候,会建主题模型,提取优秀站点中某一些做的好的特征作为对同类型网站优质站点识别的参考数据,所以我们要分析优秀站点,从中去其糟粕,取其精华. 我们如何分

Nginx反代超详细教程:加速网站Google、Gravatar和Hostloc

VPS教程 » Nginx反代超详细教程:加速网站Google.Gravatar和Hostloc Nginx反代超详细教程:加速网站Google.Gravatar和Hostloc December 31st , 2015•Edit•访问: 672 次 nginx 这个轻量级.高性能的 web server 主要可以干两件事情: 1.直接作为http server(需要Fastcgi配合): 2.作为反代服务器(进一步可以实现均衡负载). 这里主要利用一下反功能来方便一下日常生活.选择Gravat

推荐国内外优秀+免费CDN加速网站及公共cdn加速库

-----------------------------------------------------------------免费CDN加速网站 1.CloudFlare CloudFlare可能是国内网友接触最比较早的免费CDN服务了,如果你的网站访问用户是全世界的,那么 CloudFlare一定适合你,如果你的网站程序是Wordpress的,官方还专门为WP用户提供了一个官方插件(插件搜索CloudFlare),可以一次性设置完成,并且可以在后台直接查看CDN流量, 使用CloudFla

35款加速网站开发的 CSS 开发工具

网络有很很多的 CSS 工具和教程可用,它可以帮助设计人员和开发人员轻松.快速地学习 CSS 技术.这些工具中在高效开发 Web 应用程序中发挥重要作用. 在这篇文章中,我们收集了35个最好的 CSS 工具用于加速网站开发,如创建 CSS 菜单,动画,三维模型,响应式页面,动画按钮等等.我们希望你会发现下面的 CSS 工具能够满足您的需求. 您可能感兴趣的相关文章 精心推荐几款超实用的 CSS 开发工具 精心挑选的在线 CSS3 代码生成工具 24款非常实用的CSS3工具终极收藏 推荐10个特别

Squid 反向代理加速网站

本实例的域名是 wenjin.cache.ibm.com.cn,通过DNS的轮询 技术,将客户端的请求分发给其中一台 Squid 反向代理服务器处理,如果这台 Squid 缓存了用户的请求资源,则将请求的资源直接返回给用户,否则这台 Squid 将没有缓存的请求根据配置的规则发送给邻居 Squid 和后台的 WEB 服务器处理,这样既减轻后台 WEB 服务器的负载,又提高整个网站的性能和安全性.该系统结构图 3 如下: 图 3. 系统结构 配置的系统环境: 一台 DNS 服务器:操作系统 Fre

加速网站的最佳实践

Exceptional Performance团队已经确定了许多快速制作网页的最佳实践. 按类别筛选: Content Server Cookie CSS JavaScript Images Mobile All最小化HTTP请求 tag: content 最终用户响应时间的80%用于前端.大部分时间都在下载页面中的所有组件:图像,样式表,脚本,Flash等.减少组件数量反过来减少了呈现页面所需的HTTP请求数量.这是更快页面的关键. 减少页面中组件数量的一种方法是简化页面设计.但有没有办法构建