Как и сжатие GZIP — кэш браузера на серверах с Nginx включается не сложно. Я делаю так:
- Открываем конфиг nginx.conf для редактирования.
- Для нужного сайта в блок:
12345location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {root /var/www/clients/data/www/huva.ru;access_log /var/www/httpd-logs/huva.ru.access.log ;access_log /var/www/nginx-logs/clients isp;}
добавляем строку expires 7d; . В результате получаем:
123456location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {root /var/www/clients/data/www/huva.ru;access_log /var/www/httpd-logs/huva.ru.access.log ;access_log /var/www/nginx-logs/clients isp;expires 7d;}
В результате статичные файлы картинок, стилей, яваскриптов, архивов и т.п. начинают кэшироваться на стороне браузера посетителя сайта. Мы указываем срок хранения кэша — 7 дней. - Сохраняем изменения nginx.conf.
- Перезапускаем сервер Nginx. Команда: /etc/init.d/nginx restart
Все, результат можно проверить в Google pagespeed. Конечно, таким образом кэшируются только те файлы, которые на нашем сервере находятся. На сторонние скрипты метрики, рекламы и т.п. Google pagespeed будет ругаться.