nginx中fastcgi-cache缓存使用方法介绍

fastcgi-cache缓存配置

配置自动清空缓存的步骤很简单:

1、检查是否安装ngx_purge_cache模块

nginx -V 2>&1 | grep nginx-cache-purge -o

如果显示nginx-cache-purge即代表已安装

如果没东西输出,则需要先安装:

sudo add-apt-repository ppa:brianmercer/nginx
sudo apt-get update
sudo apt-get install nginx-custom

使用fastcgi_cache加速Nginx站点

说到缓存,想到的大部分都是Memcache、Xcache、Proxy_Cache,FastCgi Cache貌似一直被人忽略中,FastCgi缓存也是不错的(我也最近才听说)

引用某人的一句话:

lnmp一键包没开启fastcgi cache是一大败笔

开启FastCGI Cache步骤非常简单

1、新建文件夹存放缓存文件

Defaultmkdir /home/cache/fcgi -p
1 mkdir /home/cache/fcgi -p

2、修改nginx.conf文件(LNMP一键包目录在/usr/local/nginx/conf/nginx.conf),在http层加入:

Defaultfastcgi_cache_path /home/cache/fcgi levels=1:2 keys_zone=fcgi:15m inactive=1d max_size=1g;

#15m为内存占用  1g为硬盘最大占用空间

12 fastcgi_cache_path /home/cache/fcgi levels=1:2 keys_zone=fcgi:15m inactive=1d max_size=1g;#15m为内存占用  1g为硬盘最大占用空间

3、修改位于vhost目录下的站点文件

Defaultlocation ~ .*\.(php|php5)?$
   {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/wwwroot/网站目录$fastcgi_script_name;  #把网站目录修改成自己的
            include        fastcgi_params;
            fastcgi_cache fcgi;    #表示开启FastCGI缓存并为其指定一个名称。
            fastcgi_cache_valid 200 302 301 1h;     #缓存http状态200 302 301 1小时
            fastcgi_cache_valid any 1m; #其他应答代码缓存1分钟。
            fastcgi_cache_min_uses 1;   #设置链接请求几次就被缓存。
            fastcgi_cache_use_stale error timeout invalid_header http_500;    #定义哪些情况下用过期缓存
            fastcgi_cache_key $request_method://$host$request_uri;  #注意一定要加上$request_method作为cache key,否则如果HEAD类型的先请求会导致后面的GET请求返回为空
}

12345678910111213 location ~ .*\.(php|php5)?$   {            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  /home/wwwroot/网站目录$fastcgi_script_name;  #把网站目录修改成自己的            include        fastcgi_params;            fastcgi_cache fcgi;    #表示开启FastCGI缓存并为其指定一个名称。            fastcgi_cache_valid 200 302 301 1h;     #缓存http状态200 302 301 1小时            fastcgi_cache_valid any 1m; #其他应答代码缓存1分钟。            fastcgi_cache_min_uses 1;   #设置链接请求几次就被缓存。            fastcgi_cache_use_stale error timeout invalid_header http_500;    #定义哪些情况下用过期缓存            fastcgi_cache_key $request_method://$host$request_uri;  #注意一定要加上$request_method作为cache key,否则如果HEAD类型的先请求会导致后面的GET请求返回为空}

4、重启nginx即可

Default/etc/init.d/nginx restart
1 /etc/init.d/nginx restart

5、打开站点,看缓存目录是否增大

Defaultdu -sh /home/cache/fcgi

1 du -sh /home/cache/fcgi
link:http://jybb.me/nginx-fastcgi_cache

删除nginx-fastcgi-cache缓存

比如突然发现某个错别字,在后台改好后发现文章之前已被缓存,不知道还要等多久才能刷新,解决办法是删除生成的文件

但想要找到已经可不容易,有两个办法:

一个一个找或者直接删除全部缓存

根据nginx的URL -- key的规则,再使用两层hash来定位文件

因为老高缓存的文件数不多,所以最后的解决办法是 -- 关键字过滤

# 找
grep -r 'your keywords' .
# 删
grep -rl 'your keywords' . |xargs rm

下面的也可以

find |xargs grep 'your keywords'
find |xargs grep -l 'your keywords'|xargs rm

顺便记个笔记

# 顺便记一下find限定查找文件和目录

find -type f
find -type d

# grep --help 中-R也很有用!
grep -r --include="*.php"

时间: 2024-12-01 08:03:06

nginx中fastcgi-cache缓存使用方法介绍的相关文章

在word文档中打"√“的几种方法介绍

  有时候,我们在做电子调查报告或者填写一些资料表,会遇到一些word文档中有小方框[□],需要在里面打钩[√],说实在的,碰到的时候还真有些烦,我想很多人都有这样的感触吧,下面小编就为大家介绍在word文档中打"√"的几种方法,不会的朋友快快来学习吧! 第一种,利用Word中的"符号"插入钩. 首先打开word文档,选择插入-符号 再符号中-选择其他符号命令 字体中选择数字运算符,找到"√ 钩",点击插入即可. 第二种,利用输入法在Word中打

JavaScript中消除闭包的一般方法介绍

 这篇文章主要介绍了JavaScript中消除闭包的一般方法介绍,本文直接给出了操作示例,需要的朋友可以参考下     JavaScript 的闭包是一个其主动发展的特性, 也是一个被动发展的特性. 也就是说, 一方面, JS 有了闭包能更好解决一些问题. 另一方面, JS 为了解决某些问题, 而不得不使用闭包勉强来解决问题. 前者这里不讨论, 如果 JS 闭包能更好的解决问题, 当然使用闭包更好. 我讨论的是后者, 是因为 JS 本身的限制, 而不得不磕磕绊绊地用闭包来解决的问题, 例如"变量

word文档如何分页?在Word中使文档分页方法介绍

步骤 1.打开word,不管是什么版本,应该都可以设置文字分页的.写上一些文字,或者打开已经写好的word,或者下载下来的文档 2.然后,在最上面的那一栏主菜单栏上面找到页面布局这个菜单,然后点击一下他,之后会显示出来很多子菜单. 3.在众多子菜单里面,找到分隔符这个选项.单击它,又会出来很多选项.此时会出现分解符和分页符,两个都可以选. 4.如果选择分页符,就要在你想要分页的文字前面用鼠标点击一下,使光标停在你想要分页的那一行的上面,之后再按照上面的提示点击分页符就直接分页了. 5.如果是要分

wordpress中Hyper Cache缓存插件安装和使用方法

本文就来介绍wordpress提速插件中比较小巧但又很管用的缓存插件--Hyper Cache .那么,wordpress缓存插件Hyper Cache如何安装和使用?下面,我们就一起来看看吧. 第一步.安装Hyper Cache 缓存插件. 进入wp的管理后台,点击"插件">>"安装插件" ,再搜索Hyper Cache ,第一个就是了,安装我就不说了. 第二步.启动Hyper Cache 缓存插件. 安装完成以后,点击启用插件.然后,点击"

asp.net 使用驻留在页面中的Cache缓存常用可定时更新的数据_实用技巧

就是希望让Web应用程序从一开始运行到结束都一直存在,有人就说为什么不用Application呢?其实Cache是可以一段时间内自动更新数据的,而Application就无法做成这样的,另外Application在Web这种高并发的系统中一定要考虑线程安全的问题,Application本身就不是线程安全的,而Cache就是线程安全.所以一般我都会在很多对象中我只从Web开始运行的时候从数据库或文件里获取一次数据,在不同的页面中,都是使用Cache的,而且Cache中的数据可能弄成自动更新的,所以

什么是磁盘缓存?迅雷软件的磁盘缓存设置方法介绍

近日有网友问磁盘缓存是什么意思? 下面小编将为广大电脑爱好者讲解这方面的电脑知识,希望能够帮助大家更好的来认识磁盘缓存,另外附上迅雷磁盘缓存怎么设置 的方法: 其实,磁盘缓存分为两种,一种是读缓存,另一种是写缓存. 一.读缓存 读缓存是指,操作系统为已读取的文件数据,在内存较空闲的情况下留在内存空间中(这个内存空间被称之为"内存池"),当下次软件或用户再次读取同一文件时就不必重新从磁盘上读取,从而提高速度. 二.写缓存 写缓存实际上就是将要写入磁盘的数据先保存于系统为写缓存分配的内存空

在Nginx中使用proxy_cache缓存功能

Nginx从0.7.48版本开始,支持了类似Squid的缓存功能.这个缓存是把URL及相关组合当作Key,用md5编码哈希后保存在硬盘上,所以它可以支持任意URL链接,同时也支持404/301/302这样的非200状态码.虽然目前官方的Nginx Web缓存服务只能为指定URL或状态码设置过期时间,不支持类似Squid的PURGE指令,手动清除指定缓存页面,但是,通过一个第三方的Nginx模块,可以清除指定URL的缓存. Nginx的Web缓存服务主要由proxy_cache相关指令集和fast

在(ASP/PHP/JSP/html/js)中禁止ajax缓存的方法集锦_AJAX相关

ajax缓存有好处,但也有坏处,缓存有时候会导致误操作,影响用户体验,若你的WEB项目不需要ajax缓存功能,可按下述方法来禁止ajax缓存. 一.在ASP中禁止ajax缓存: '放在ASP网页最开头部分  Response.expires=0 Response.addHeader("pragma","no-cache") Response.addHeader("Cache-Control","no-cache, must-revali

在(ASP/PHP/JSP/html/js)中禁止ajax缓存的方法集锦

ajax缓存有好处,但也有坏处,缓存有时候会导致误操作,影响用户体验,若你的WEB项目不需要ajax缓存功能,可按下述方法来禁止ajax缓存. 一.在ASP中禁止ajax缓存: '放在ASP网页最开头部分 Response.expires=0 Response.addHeader("pragma","no-cache") Response.addHeader("Cache-Control","no-cache, must-revalid