У меня возникли проблемы с применением кеширования объектов в Nginx на основе Эта статья (который я посетил после того, как не понял официальную документацию Nginx по этому поводу).
Я пытался добавить это в самый конец http{}
блокировать в nginx.conf
:
## Nginx FastCGI Cache
fastcgi_cache_path /var/cache/nginx/fastcgi_temp/cache levels=1:2 keys_zone=czone:100m inactive=60m;
fastcgi_cache_key $scheme$request_method$host$request_uri;
fastcgi_cache_lock on;
fastcgi_cache_use_stale error timeout invalid_header updating http_500;
fastcgi_cache_valid 200 301 302 60m;
fastcgi_pass_header Set-Cookie:Set-Cookie;
fastcgi_pass_header Cookie;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
После добавления я сохранил и выполнил nginx -t
но я получил ошибку «тест не пройден».
Ошибка журнала ошибок Nginx дает следующее:
mkdir () "/ var / cache / nginx / fastcgi_temp / cache" не удалось (2: нет такого файла или каталога) `.
Кажется, что PHP mkdir()
не смогли.
Каковы правильные директивы POSIX для /var/
чтобы функция PHP могла создать /var/cache/nginx/fastcgi_temp/
мирно? Что должно быть безопасным?
Или я не должен меняться /var/
s POSIX и создайте /var/cache/nginx/fastcgi_temp/
и поменять только его разрешения, но на что?
Как кто-то указал в комментариях, вы должны предварительно создать каталог для кеша nginx, вероятно, в / var / cache / nginx и предоставить правильные разрешения.
Я обычно использую
mkdir /var/cache/nginx
chmod 755 /var/cache/nginx
chown nginx:nginx /var/cache/nginx
владелец зависит от ваших настроек и распространения.
Nginx создает последний каталог, на моих серверах chown nginx: nignx и chmod 700