http://jybb.me/nginx-fastcgi_cache
说到缓存,想到的大部分都是Memcache、Xcache、Proxy_Cache,FastCgi Cache貌似一直被人忽略中,FastCgi缓存也是不错的(我也最近才听说)
引用某人的一句话
lnmp一键包没开启fastcgi cache是一大败笔
via @ Unknown
开启FastCGI Cache步骤非常简单
1、新建文件夹存放缓存文件
1
|
mkdir
/
home
/
cache
/
fcgi
-
p
|
2、修改nginx.conf文件(LNMP一键包目录在/usr/local/nginx/conf/nginx.conf),在http层加入:
1
2
|
fastcgi_cache_path
/
home
/
cache
/
fcgi
levels
=
1
:
2
keys_zone
=
fcgi
:
15m
inactive
=
1d
max_size
=
1g
;
#15m为内存占用 1g为硬盘最大占用空间
|
3、修改位于vhost目录下的站点文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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即可
|
5、打开站点,看缓存目录是否增大