Как настроить отдачу статических файлов с поддержкой кеширования в Nginx?

Пользователь

от onie , в категории: Компьютерные технологии , год назад

Как настроить отдачу статических файлов с поддержкой кеширования в Nginx?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от alexie , год назад

@onie 

  1. Определите директиву root, указывающую корневой каталог документации в вашем файле конфигурации. Например:
1
2
3
4
server {
    root /var/www/example.com;
    ...
}


  1. Укажите расширения файлов, которые должны кешироваться, используя директиву "expires". Например, для кэширования файлов .css и .js в течение 7 дней:
1
2
3
location ~* .(css|js)$ {
    expires 7d;
}


  1. Добавьте директиву "etag", которая генерирует уникальный идентификатор для каждого файла и обеспечивает проверку целостности кэшированной версии файла при каждом запросе. Например:
1
2
3
4
location / {
    etag on;
    ...
}


  1. Настройте директиву "add_header", чтобы включить информацию о кэшировании для клиентов. Например:
1
2
3
4
5
location / {
    add_header Cache-Control "public, max-age=3600";
    add_header Vary "Accept-Encoding";
    ...
}


Это сообщает клиентам, что файл может быть кэширован на их стороне в течение одного часа, а также указывает, что кэширование должно учитывать различия в кодировке при запросах сжатых файлов.

  1. Проверьте конфигурацию с помощью команды "nginx -t" и перезапустите сервер, если конфигурация прошла проверку успешно:
1
2
sudo nginx -t
sudo systemctl restart nginx