Назад |
Перейти на главную страницу
Проблема с конфигурацией Nginx и FastCGI
Я использую WordPress Multisite / Network и хотел бы, чтобы FastCGI сохранял кеш в течение длительного периода времени (скажем, неделю или месяц). Причина в том, что у нас есть плагин, который принудительно обновляет кеш, когда есть изменения, пользователь может вручную обновить весь сайт, и когда мы развертываем обновления, мы также очищаем кеш. ТАК, что кешированная заливка в целом "актуальна"
Вот код, который у меня сейчас есть в моем файле conf ...
fastcgi_cache_path /var/cache/html levels=1:2 keys_zone=FASTCGICACHE:500m
inactive=30d;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_use_stale error timeout invalid_header http_500;
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
Вот мои вопросы:
- Как установить неактивность на 30 дней? "30d" правильно? РЕДАКТИРОВАТЬ: я изменил его на "inactive = 10080m", но, похоже, срок его действия истекает через 10 минут (по умолчанию)
- Я заметил, что через некоторое время (несколько часов, может быть, день) сервер возвращает «x-fastcgi-cache: EXPIRED», и когда я обновляюсь, получаю «HIT». Я знаю, что значение по умолчанию для неактивного состояния составляет 10 м, поэтому, если № 1 истинно (30d неверно), тогда это может быть причиной? Если нет, какие еще идеи?
- Когда "x-fastcgi-cache: EXPIRED" требуется гораздо больше времени для загрузки URL-адреса, не следует ли ему обслуживать текущую версию (то есть такую же высокую скорость), а затем получить новую версию кеша?
- В моей настройке WordPress есть несколько доменов, как я могу получить кеш для хранения каждого каталога первого уровня в качестве имени домена вместо ключа кеша MD5. (поэтому вместо / s / somereallylong string это будет /example.com/somereallylongstring
Итак, после некоторого исследования я нашел части своего ответа, а затем сумел завершить остальное самостоятельно.
- неактивен должен быть в минутах или "м", поэтому 10080 м
- Узнал что-то новое. Неактивный - это то, что используется системой внутри для очистки старых файлов и не связано с EXPIRE кеша. То есть fastcgi_cache_valid определяет, истек ли срок действия кеша, H / T Nginx fastcgi_cache_valid против неактивного fastcgi_cache_path
- Это было неправильное понимание того, как используется "fastcgi_cache_use_stale". Насколько я понимаю, это используется только в том случае, если сервер приложений (построенный на PHP или что-то еще) создает разрывы страниц, он вернется к устаревшим, но если сервер приложений работает, он будет ждать новой версии.
- По-прежнему нет ответа на этот вопрос.