ISPManager, nginx и expires
На вашем сервере используется популярный набор программного обеспечения в виде панели управление 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.
Документация: