На вашем сервере используется популярный набор программного обеспечения в виде панели управление ISPManager, вэб-сервера Apache и nginx в качестве www-ускорителя? Обратите внимание на то, что nginx не отдает заголовки Expires. Если для сгенерированных интерпретатором PHP документов это не всегда важно, то статические данные желательно отдавать с подобным заголовком, позволяя броузерам посетителей более активно использовать кэширование. Есть два варианта, как добиться выдачи заголовка Expires.
Если у Вас мало сайтов, то в текстовом редакторе откройте nginx.conf (в Linux-системах он обычно располагается в /etc/nginx/, в FreeBSD – /usr/local/etc/nginx/), найдите конфигурационный блок server {} для Вашего виртуального хоста. В данном конфигурационном блоке есть раздел location для обработки статических докуменов. Именно в этом блоке добавьте строку expires Xd, где Х – количество дней валидности данных. Например, expires 7d укажет броузеру, что изображения и файлы CSS/JS можно кэшировать на протяжении недели.
В конечном итоге у Вас блок location будет выглядеть примерно так:
1
2
3
4
5
6
7
|
location ~* ^.+.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root /var/www/username/data/www/usernamesite.ru;
access_log /var/www/nginx-logs/usernamesite isp;
access_log /var/www/httpd-logs/usernamesite.ru.access.log ;
error_page 404 = @fallback;
expires 7d;
}
|
Второй путь – научить панель указывать параметр expires для статики во всех виртуальных серверов в файле конфигурации nginx. Для этого создаем файл /usr/local/ispmgr/etc/server.templ со следующим содержимым:
1
2
3
|
location ~* ^.+.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
expires 7d;
}
|
Перезагружаем панель (killall ispmgr), создаем новый вэбсайт через ISPManager и проверяем, что параметр expires корректно указан описании свежо созданного вебсайта в файле nginx.conf.
Есть один комментарий
Познавательная статья и пригодится администраторам серверов…