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

В текстовом редакторе откройте nginx.conf

  • в Linux - /etc/nginx/

найдите конфигурационный блок server {} для Вашего виртуального хоста. В данном конфигурационном блоке есть раздел location для обработки статических документов.

В итоге блок location будет выглядеть примерно так:

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 7d — это количество дней, сколько кэш статических файлов должен храниться на компьютере пользователя. Если вы не вносите правки в css, js, файлы своего сайта и не меняете картинки, то имеет смысл этот параметр увеличить, вплоть до нескольких месяцев или даже до года.

Второй вариант – научить панель указывать параметр expires для статики во всех виртуальных серверов в файле конфигурации nginx. Для этого создаем файл /usr/local/ispmgr/etc/server.templ со следующим содержимым:

location ~* ^.+.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {  
                        expires 7d;
}

Теперь включим GZIP сжатие для статичных файлов

Сжатие GZIP экономит трафик и увеличивает скорость загрузки страниц.

Как включить GZIP для статики в NGINX

server {  
    ....
    gzip on;
    gzip_disable "msie6";
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
}
Обновлено 25 февраля 2019 г.