FRiCKLE Labs & yo.se pres. ngx_cache_purge

SplitIce mat999 at gmail.com
Thu Oct 6 14:38:33 UTC 2011


This is an interesting feature, would be awsome if this got included in the
core. Can it be made to work based of DELETE (method) requests I wonder?

On Fri, Oct 7, 2011 at 1:11 AM, ahu <nginx-forum at nginx.us> wrote:

> I need some help on "FASTCGI(PHP) CACHE PURGE".
>
> I successfully configured my nginx to support purge fastcgi cache with
> Ctrl+F5,while I found that I can not purge the cache by request a uri
> like below:
>
> http://myserver.com/purge/test.php
> OR
> http://myserver.com/purge/myserver.com/test.php
>
> It always returns a 404 error :(
>
> HOW CAN I DO IT? Please help me~
>
> Here is the key part of my nginx.conf:
>
> ----------------------------------------------------------
> http {
>        include mime.types;
>        default_type application/octet-stream;
>
>        ...
>
>        fastcgi_cache_path /tmp/fastcgi_cache levels=1:2 keys_zone=TEST:10m
> inactive=5m;
>        fastcgi_connect_timeout 300;
>        fastcgi_send_timeout 300;
>        fastcgi_read_timeout 300;
>        fastcgi_buffer_size 16k;
>        fastcgi_buffers 16 16k;
>        fastcgi_busy_buffers_size 16k;
>        fastcgi_temp_file_write_size 16k;
>        fastcgi_cache TEST;
>         fastcgi_cache_valid 200 302 1h;
>        fastcgi_cache_valid 301 1d;
>        fastcgi_cache_valid any 1m;
>        fastcgi_cache_min_uses 1;
>        fastcgi_cache_use_stale error timeout invalid_header http_500;
>         fastcgi_cache_key $host$uri$is_args$args;
>
>        ...
>
>        server {
>                listen 80;
>                server_name myserver.com;
>                root /home/wwwroot;
>                index index.html index.htm index.php;
>
>                if ($request_method = 'PURGE') {
>                        rewrite ^(.*)$ /purge$1 last;
>                }
>
>                if ($http_cache_control ~ "no-cache") {
>                        set $http_cache_control 'max-age=604800';
>                        rewrite ^(.*)$ /purge$1 last;
>                }
>
>                location ~ /purge(/.*) {
>                        #allow 127.0.0.1;
>                        #deny all;
>                                fastcgi_cache_purge TEST
> $host$1$is_args$args;
>                }
>
>                location ~ .*\.(php|php5)?$ {
>                        fastcgi_pass unix:/tmp/php-cgi.sock;
>                        fastcgi_index index.php;
>                        fastcgi_split_path_info ^(.+\.php)(.*)$;
>                        include fcgi.conf;
>                }
>
>                                ...
>
>                log_format access '$remote_addr - $remote_user [$time_local]
> "$request" '
>                        '$status $body_bytes_sent "$http_referer" '
>                                '"$http_user_agent"
> $http_x_forwarded_for';
>                access_log /home/wwwlogs/access.log access;
>        }
>
> }
> ----------------------------------------------------------
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?2,39564,216317#msg-216317
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20111007/6e1c773a/attachment.html>


More information about the nginx mailing list