Артём Мáлков

Настраиваем кэширование файлов и GZIP-сжатие на сайте в Nginx

19 апр1 комм

Не так давно мне довелось поработать на одном сайте, который находился не на хостинге, а на выделенном сервере. Одно из отличий первого от второго – это то, что на выделенном сервере вы можете сделать более тонкие настройки.

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

Все операции мы проводим в файле конфигураций, который находится по адресу:

/etc/nginx/nginx.conf

В простом FTP вы можете не найти папку ect, для этого воспользуйтесь стандартным менеджером файлов, который находится в панели управления сервером.

Настраиваем GZIP-сжатие на сайте в Nginx

После того как файл конфигурации открыт, в нем нас будут интересовать две секции: это http {…} и server {…}.

Для включения GZIP-сжатия на вашем сайте в секцию http, сразу после «http {», вставьте:

gzip_static on; 
gzip on; 
gzip_buffers 16 8k; 
gzip_comp_level 9;  
gzip_min_length 1024;  
gzip_types text/css text/plain text/json text/x-js text/javascript text/xml application/json application/x-javascript application/xml application/xml+rss application/javascript; 
gzip_disable "msie6"; 
gzip_vary on; 
gzip_http_version 1.0;

Если какие-то из строк уже есть в этой секции, то удалите их. Таким способом мы включили GZIP-сжатие на сайте. Вы также можете поиграть с настройками параметра «gzip_comp_level 9». Здесь «9» – это максимальный уровень сжатия, а минимально возможный – «1».

Максимальный уровень требует немного больше ресурсов. Если после включения сжатия вы наблюдаете небольшие зависания сайта, то измените «9» на «5» - оптимальное значение.

Настраиваем кэширование файлов на сайте в Nginx

Для настройки кэширования файлов мы будем вносить изменения в секции server.

Для этого сразу после «server {» вставьте:

location ~* ^.+.(jpg|jpeg|gif|png|ico|css|pdf|ppt|txt|bmp|rtf|js|woff|ttf|svg|swf|mp3|ogg|avi|zip|rar)$ {

	try_files $uri $uri/ @fallback;
	expires 7d;

} 

Здесь «expires 7d;» – это количество дней, которым нужно кэшировать файлы (в нашем случае – 7 дней). Список необходимых файлов вы можете отредактировать сами, а также дополнить его необходимыми форматами.

После того как все необходимые настройки сделаны, вам необходимо перезапустить Nginx.

Для этого в SSH Terminal'e выполните команду:

service nginx restart

На этом мы заканчиваем настройку, направленную на ускорение работы вашего сайта.

Рекомендуем к просмотру
Включаем сжатие текста и кэширование статических файлов на хостинге Ru-Center
Статьи и советы
Убираем .html, .php и .htm в конце URL-адресов на Apache/Nginx
Статьи и советы
Обновляем страницу на сайте, очищая при этом ее кэш
Статьи и советы
1
комментарий
Форма комментирования этого поста скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 1
    1
      •  Пользователь
    27 июн в 19:55

    Спасибо Вам огромное.

    Всё просто и ясно.

Подняться наверх
«Pandoge» - помощник вебмастера