nginx can not cache
Igor Sysoev
is at rambler-co.ru
Wed May 20 12:56:33 MSD 2009
On Mon, May 18, 2009 at 02:36:15PM +0800, weichenqi wrote:
> Hi,
> I want to cache static files as gif,jpg and so on .that my config files:
>
> location *~*\.(jgp|gif|png|css|swf|html|htm)$ {
> root /web/html/;
> proxy_store on;
> proxy_set_header Accept-Encoding '';
> proxy_temp_path /web/tmp/;
> proxy_store_access user:rw group:r all:r;
> if (!-f $request_filename)
> {
> proxy_pass http://localhost:81;
> }
> }
> location / {
> proxy_redirect off;
> proxy_set_header Host $host;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> client_max_body_size 50m;
> client_body_buffer_size 256k;
> proxy_connect_timeout 30;
> proxy_send_timeout 30;
> proxy_read_timeout 60;
> proxy_buffer_size 4k;
> proxy_buffers 4 32k;
> proxy_busy_buffers_size 64k;
> proxy_temp_file_write_size 64k;
> proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
> proxy_max_temp_file_size 128m;
>
> proxy_store off;
>
> proxy_pass http://test/;
> }
> }
> }
> now,it have problem,inthe proxy_temp_path /web/tmp/
> there is no files cache.why?thanks!
First,
-location *~*\.(jgp|gif|png|css|swf|html|htm)$ {
+location ~* \.(jgp|gif|png|css|swf|html?)$ {
Second, instead of
if (!-f $request_filename) {
proxy_pass http://localhost:81;
}
you should use
location ~* \.(jgp|gif|png|css|swf|html?)$ {
root /web/html/;
try_files $uri @fetch;
}
location @fetch {
proxy_pass http://localhost:81;
proxy_set_header Accept-Encoding '';
proxy_store on;
proxy_store_access user:rw group:r all:r;
proxy_temp_path /web/tmp/;
root /web/html/;
}
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list