ini nginx fastcgi缓存配置文件演示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ini nginx fastcgi缓存配置文件演示相关的知识,希望对你有一定的参考价值。

#http里面server外面配置

fastcgi_cache_path  /home/fastcgi/cache  levels=1:2 keys_zone=cache_fastcgi:2000m inactive=1d max_size=80g;#指定缓存大小和空间名称
fastcgi_temp_path /home/fastcgi/temp; #缓存先写temp再写到cache目录

#server里面的配置
server {
  #默认启用缓存
  set $no_cache 0;
  # 不缓存POST操作
  if ($request_method = POST) {
      set $no_cache 1;
  }   

  # 不缓存后台
  if ($request_uri ~* "/(admin).*") {
      set $no_cache 1;
  }  

  location ~ \.php($|/) {        
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_index  index.php;
      fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
      include        fastcgi_params;
      
      # 是否缓存
      fastcgi_cache_bypass $no_cache;
      fastcgi_no_cache $no_cache;
      #使用某个cache
      fastcgi_cache cache_fastcgi;
      #当一次请求过来需要写一个cache key的时候,会把这个key锁住,目的是当多个请求同时请求写同一个key的时候只有一个可以去写,其它的等待该key写成功后直接从cache中取,防止了大量请求下穿透cache给后端fastcgi造成过大的压力
      fastcgi_cache_bypass $no_cache;
      fastcgi_no_cache $no_cache;
      fastcgi_cache_lock on;
      #设置锁过期的时间
      fastcgi_cache_lock_timeout 1s;
      #设置在什么条件下使用过期的缓存数据,当请求出现错误的时候可以使用过期cache防止出现错误页面
      fastcgi_cache_use_stale error timeout updating http_500 http_503;
      #设置cache的key
      fastcgi_cache_key "$scheme$request_method$host$request_uri";
      # 防止fastcgi的缓存头设置造成缓存失效
      fastcgi_ignore_headers "Cache-Control" "Expires" "Set-Cookie";
      #设置cache过期时间5分钟,可以针对不同的返回码设置不同的过期时间
      fastcgi_cache_valid 200 5m;
  }

  location ~ /purge(/.*) {
      allow 127.0.0.1;
      deny all;
      fastcgi_cache_purge cache_fastcgi "$request_method://$host$1";
  }
}

以上是关于ini nginx fastcgi缓存配置文件演示的主要内容,如果未能解决你的问题,请参考以下文章

Nginx+php+fastcgi在win7下的配置

ini FastCGI nginx配置

Nginx使用教程:使用Nginx缓存之FastCGI缓存

ini boxen / brew nginx开发配置w / fastcgi php-fpm

ini nginx代理缓存配置文件示例

Fastcgi优化配置详解