@IliaMal

Почему не работает кеширование FASTCGI?

Здравствуйте.

Недавно развернул сервер на Ubuntu, Nginx + php-fpm.. Дошел до вопроса кеширования php.
Судя по статьям в интернете кеш настраивается элементарно, просто необходимо определить путь и ключ, эти ностройки уже были у меня в файле nginx.conf, тут я ничего не менял:
fastcgi_cache_path /var/cache/ levels=1:2 keys_zone=MYCACHE:10m inactive=4h;
fastcgi_cache_key "$scheme$request_method$host$request_uri";

и следующем шагом добавить в location настройки для домена:
server {
...
location ~ \.php$ {
...
fastcgi_cache MYCACHE;
fastcgi_cache_valid 200 60m;
}
}

Проверил содержимое директории где должен храниться кеш, там есть пустая папка с проектом:
$ ls -l /var/cache/
total 44
drwxr-xr-x  2 site1.ru  site1.ru  4096 Mar 12 13:37 site1.ru

В index.php вывел текущее время
echo time();
При повторном обращении к файлу время постоянно меняется, не кешируется.

Как найти в чем проблема?
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 1
@neol
Видимо ваш скрипт передаёт заголовки, запрещающие кеширование. Добавьте в конфиг
fastcgi_ignore_headers Cache-Control Expires;

PS Вы точно уверены, что хотите кешировать все запросы? Авторизации у вас на сайте нет?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы