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 }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论