`
zhengdl126
  • 浏览: 2538352 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

nginx:fastcgi_cache

阅读更多

http://apps.hi.baidu.com/share/detail/22360588   nginx 优化(突破十万并发)

 

 

    Nginx+PHP是高效、高速、高性能的完美组合,但是要发挥其性能极致还是需要一些手段进行优化,使得这个组合结合更加紧密。在Nginx中启用fastcgi cache就可以有效提高PHP网站的访问速度。
    配置参数:

    http里:

       1. fastcgi_cache_path /www/php_cache levels=1:2 keys_zone=cache_php:30m inactive=1d max_size=10g;

    server里:

       1. location ~ .*\.php?$
       2. {
       3.       #fastcgi_pass  unix:/tmp/php-cgi.sock;
       4.       fastcgi_pass  127.0.0.1:9000;
       5.       fastcgi_index index.php;
       6.       include fcgi.conf;
       7.       #以下是fastcgi_cache的配置
       8.       fastcgi_cache   cache_php;
       9.       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表示最多用多少硬盘空间。

    fastcgi_cache_valid:定义哪些http头要缓存

    fastcgi_cache_min_uses:URL经过多少次请求将被缓存

    fastcgi_cache_use_stale:定义哪些情况下用过期缓存

    fastcgi_cache_key:定义fastcgi_cache的key,示例中就以请求的URI作为缓存的key,Nginx会取这个 key的md5作为缓存文件,如果设置了缓存哈希目录,Nginx会从后往前取相应的位数做为目录fastcgi_cache:用哪个缓存空间
    清除缓存

    指定删除某一URL的php文件的缓存的PHP程序

    主要代码如下:

       1. $md5md5 = md5($url);
       2.     $cacheFile = '/www/php_cache/' . substr($md5, -1, 1) . '/' . substr($md5, -3, 2) . '/' . $md5;
       3.     if (!file_exists($cacheFile)) {
       4.         exit('缓存不存在。');
       5.     }
       6.     if (@unlink($cacheFile)) {
       7.         echo '清除缓存成功。';
       8.     } else {
       9.         echo '清除缓存失败。';
      10.     }

分享到:
评论

相关推荐

    nginx缓存清除插件ngx_cache_purge.zip

    ngx_cache_purge 是 nginx 模块,此模块可以清理 nginx 的 FastCGI、proxy、 SCGI 和 uWSGI 的缓存。配置指令(相同位置语法)fastcgi_cache_purgesyntax: fastcgi_cache_purge on|off|<method> [from all|<ip> [.....

    Nginx安装+nginx_upstream_check_module后端健康检查

    ### Nginx安装与后端健康检查模块配置详解 #### 一、Nginx环境搭建与核心组件安装 **1.1 基础环境准备** - **操作系统**: CentOS 6.5 - **基本服务器配置**: 在安装过程中选择了“基本服务器”配置。 **1.2 安装...

    服务器端nginx配置文件

    #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; fastcgi_intercept_errors on; sendfile on; #设置长连接 keepalive_...

    nginx优化配置,搭建高性能服务器

    4. **缓存策略**:Nginx可以对静态资源进行缓存,通过`proxy_cache_path`设置缓存路径,`proxy_cache`启用缓存,`proxy_cache_key`定义缓存键。 5. **负载均衡**:使用`upstream`模块可以实现负载均衡,如轮询、...

    WordPress速度优化-Nginx fastcgi_cache缓存加速

    高并发网站架构的核心原则其实就一句话“把所有的用户访问请求都尽量往前推“,即:能缓存在用户电脑本地的,就...Nginx内置FastCgi缓存,但是不支持自动清除缓存。当你在Wordpress里面新建/修改一篇文章,或者访客提交

    深入Nginx + PHP 缓存详解

    Nginx支持两种主要的缓存机制:fastcgi_cache和proxy_cache,它们各有特点,适用于不同的场景。 **proxy_cache** 机制主要用于缓存后端服务器的内容,无论是静态资源还是动态生成的内容。当客户端发起请求时,Nginx...

    nginx开发指南

    proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m; server { location / { proxy_cache my_cache; proxy_cache_key "$scheme$request_method$host$request_uri"; } } } ``` 2...

    nginx配置文件-magent

    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m; ``` 这里,proxy_cache定义了缓存区域,proxy_pass指向后端服务器,proxy_cache_path设置了缓存目录和参数。 6. 负载均衡...

    nginx-cache-manager:nginx-cachelord.sh 脚本是一个小型 Unix shell 脚本,旨在**选择性地管理 Nginx 的 FastCGI 缓存**

    首先,如果您使用其他缓存目录而不是/var/cache/nginx ,您可以编辑 nginx-cachelord.sh 脚本中的cache_dir变量或将其写入nginx-cache-dir.ini文本文件中: cache_dir=/var/nginx/cache 您也可以将缓存目录作为第...

    Nginx中FastCGI如何配置优化

    Nginx中的FastCGI配置优化是一个关键的步骤,对于提升Web服务器性能和处理高并发请求至关重要。FastCGI是一种常驻型的CGI,旨在解决传统CGI接口性能低下的问题。它采用客户端/服务器架构,使得HTTP服务器与脚本解析...

    实战Nginx:取代Apache的高性能Web服务器

    第9章 Nginx的Web缓存服务与新浪网的开源NCACHE模块.pdf 第10章 Nginx在国内知名网站中的应用案例.pdf 第11章 Nginx的非典型应用实例.pdf 第12章 Nginx的核心模块.pdf 第13章 Nginx的标准HTTP模块.pdf 第14章 Nginx...

    Linux系统Nginx的详细搭建和优化教程

    fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m; fastcgi_cache_key "$scheme$request_method$host$request_uri"; fastcgi_cache_use_stale error timeout ...

    基于php缓存的详解

    总的来说,`proxy_cache` 和 `fastcgi_cache` 都是Nginx提高性能的利器,它们各自针对不同层面的缓存需求。在实际应用中,根据服务器的架构和资源使用情况,灵活搭配这两种缓存机制,可以有效提升网站的响应速度,...

    nginx tomcat负载均衡缓存服务器集群.docx

    proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m inactive=60m; server { location / { proxy_pass http://backend; proxy_cache my_cache; proxy_cache_bypass $http_pragma; proxy...

    nginx学习总结五(nginx反向代理)

    Nginx的Web缓存服务主要由proxy_cache相关指令集和fastcgi_cache相关指令集构成,前者用于反向代理时,对后端内容源服务器进行缓存,后者主要用于对FastCGI的动态程序进行缓存。两者的功能基本上一样。 Nginx 0.8.32...

    Nginx实战:取代Apache的高性能Web服务器

    第9章 Nginx的Web缓存服务与新浪网的开源NCACHE模块 第10章 Nginx在国内知名网站中的应用案例 第11章 Nginx的非典型应用实例 第12章 Nginx的核心模块 第13章 Nginx的标准HTTP模块 第14章 Nginx的其他HTTP模块 第15章...

    NGINX 缓存使用指南1

    proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m; server { ... location / { proxy_cache my_cache; proxy_pass http://my_upstream; } } ``` #### `proxy_...

Global site tag (gtag.js) - Google Analytics