Не могу настроить NGINX для кэширования изображений

Я пытался кэшировать изображения, которые хранятся на сервере nginx, я здесь новичок, и для nginx я установил его и настроил его с помощью php5-fpm, я читал много уроков, касающихся кэширования изображений и файлов php. Мне удалось кэшировать файлы PHP, но я не могу кэшировать изображения, которые являются частью файла конфигурации nginx:

fastcgi_cache_path /etc/nginx/cache levels=1:2 keys_zone=MYAPP:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_use_stale error timeout invalid_header http_500;
add_header X-Cache $upstream_cache_status;

server {    
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.html index.htm;

# Make site accessible from http://localhost/
server_name localhost;

set $skip_cache 0;

# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
    set $skip_cache 1;
}   
if ($query_string != "") {
    set $skip_cache 1;
}   

location / {
    try_files $uri $uri/ /index.php?$args;
}  

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;

    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_cache MYAPP;
    fastcgi_cache_valid 200 60m;

}

location ~* ^.+\.(jpg|jpeg|gif|png)$ {
    access_log off; log_not_found off; expires 1d;
}

location ~ /\. { deny  all; access_log off; log_not_found off; }
}

теперь, когда я запускаю curl -I http://xxx.xxx.xxx.xxx/script.php, я вижу md5 созданного скрипта в папке /etc/nginx/cache, и я вижу X-Cache : HIT

. Однако, когда я запускаю curl -I http://xxx.xxx.xxx.xxx/image.jpg, файл не создается в /etc/nginx/cache, и у меня появляется следующий результат в консоли:

HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Tue, 17 Jun 2014 08:14:37 GMT
Content-Type: image/jpeg
Content-Length: 55936
Last-Modified: Tue, 17 Jun 2014 04:30:11 GMT
Connection: keep-alive
ETag: "539fc453-da80"
Expires: Wed, 18 Jun 2014 08:14:37 GMT
Cache-Control: max-age=86400
Accept-Ranges: bytes

теперь это выглядит нормально, однако, когда я запустлю его снова, дата истечения будет продолжать меняться, как если бы он вызывал новое изображение, а не кэш

HTTP/1.1 200 OK
Server: nginx/1.4.6 (Ubuntu)
Date: Tue, 17 Jun 2014 08:16:34 GMT
Content-Type: image/jpeg
Content-Length: 55936
Last-Modified: Tue, 17 Jun 2014 04:30:11 GMT
Connection: keep-alive
ETag: "539fc453-da80"
Expires: Wed, 18 Jun 2014 08:16:34 GMT
Cache-Control: max-age=86400
Accept-Ranges: bytes

мои вопросы:

1 - следует ли показывать кэшированные изображения в папке кэша?

2 - способен ли fastcgi кешировать изображения?

3- что можно сделать, чтобы решить проблему с кэшированием изображений?

Извините за вопросы новичка, но я не могу найти ответ.

1
задан 17 June 2014 в 12:32

0 ответов

Другие вопросы по тегам:

Похожие вопросы: