以下是对Nginx中的PHP缓存进行了详细的分析介绍,需要的朋友可以参考下 Nginx缓存 nginx有两种缓存机制:fastcgi_cache和proxy_cache 下面我们来说说这两种缓存机制的区别吧 proxy_cache作用是缓存后端服务器的内容,可能是任何内容,包括静态的和动态的 fastcgi_cache作用是缓存fastcgi生成的内容,很多情况是php生成的动态内容 proxy_cache缓存减少了nginx与后端通信的次数,节省了传输时间和后端带宽 fastcgi_cache缓存减少了nginx与php的通信次数,更减轻了php和数据库的压力。 proxy_cache缓存设置 复制代码 代码如下: #注:proxy_temp_path和proxy_cache_path指定的路径必须在同一分区 proxy_temp_path /data0/proxy_temp_dir; #设置Web缓存区名称为cache_one,内存缓存空间大小为200MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为30GB。 proxy_cache_path /data0/proxy_cache_dir levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g; server { listen 80; server_name www.yourdomain.com 192.168.8.42; index index.html index.htm; root /data0/htdocs/www; location / { #如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。 proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_cache cache_one; #对不同的HTTP状态码设置不同的缓存时间 proxy_cache_valid 200 304 12h; #以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内 proxy_cache_key KaTeX parse error: Expected 'EOF', got '}' at position 7: args; }̲ #扩展名以.php、.jsp… { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://backend_server; } access_log off; } }
fastcgi_cache缓存设置 复制代码 代码如下: #定义缓存存放的文件夹 fastcgi_cache_path /tt/cache levels=1:2 keys_zone=NAME:2880m inactive=2d max_size=10G; #定义缓存不同的url请求 fastcgi_cache_key "KaTeX parse error: Expected '}', got 'EOF' at end of input: …ation ~ (|.php) { root /www; http://www.iis7.com/a/lm/vpsdq/ fastcgi_pass 127.0.0.1:9000; fastcgi_cache NAME; fastcgi_cache_valid 200 48h; fastcgi_cache_min_uses 1; fastcgi_cache_use_stale error timeout invalid_header http_500; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
|
请发表评论