Nginx+PHPFastCgi⼤幅度优化提速Nginx+PHP是⾼效、⾼速、⾼性能的完美组合,但是要发挥其性能极致还是需要⼀些⼿段进⾏优化,使得这个组合结合更加紧密。在Nginx中启⽤fastcgi cache就可以有效提⾼PHP⽹站的访问速度。
配置参数:
http⾥:
1fastcgi_cache_path /www/php_cache levels=1:2 keys_zone=cache_php:30m
inactive=1d max_size=10g;
server⾥:
01location ~ .*\.php?$
02{
03      #fastcgi_pass  unix:/tmp/php-cgi.sock;
04      fastcgi_pass  127.0.0.1:9000;
05      fastcgi_index index.php;
f;
07      #以下是fastcgi_cache的配置
08      fastcgi_cache  cache_php;
09      fastcgi_cache_valid  200 302  1h;
10      fastcgi_cache_min_uses  1;
11      fastcgi_cache_use_stale error  timeout invalid_header http_500;
12      fastcgi_cache_key $host$request_uri;
13}
配置说明
fastcgi_cache_path:fastcgi_cache缓存⽬录,可以设置⽬录层级,⽐如1:2会⽣成16*256个字⽬录,
cache_php是这个缓存空间的名字,cache是⽤多少内存(nginx直接放内存,提⾼访问速度),inactive表⽰默认失效时间,max_size表⽰最多⽤多少硬盘空间。
1fastcgi_cache_valid:定义哪些http头要缓存
2fastcgi_cache_min_uses:URL经过多少次请求将被缓存
3fastcgi_cache_use_stale:定义哪些情况下⽤过期缓存
4fastcgi_cache_key:定义fastcgi_cache的key,⽰例中就以请求的URI作为缓
存的key,Nginx会取这个key的md5作为缓存⽂件,如果设置了缓存哈希⽬
录,Nginx会从后往前取相应的位数做为⽬录<br>fastcgi_cache:⽤哪个缓存空间
清除缓存
指定删除某⼀URL的php⽂件的缓存的PHP程序
主要代码如下:
01$md5 = md5($url);
02$cacheFile = '/www/php_cache/' . substr($md5, -1, 1) . '/' . substr($md5, -3,
2) . '/' . $md5;
03if (!file_exists($cacheFile)) {
04exit('缓存不存在。');
05    }
06if (@unlink($cacheFile)) {
07echo'清除缓存成功。';
08    } else {
09echo'清除缓存失败。';
国内php空间10    }