6.3.8 Как включить кэширование и GZip сжатие

Банер При разработке и обслуживании веб-сайтов на серверах Linux, важно уделить внимание оптимизации производительности для обеспечения быстрой загрузки страниц и эффективного использования ресурсов сервера. Две важные технологии, которые могут существенно повлиять на производительность веб-сайтов – это кэширование и GZip-сжатие.

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

GZip-сжатие (или сжатие данных с использованием алгоритма GZip) – это метод сжатия данных, который позволяет уменьшить размер передаваемых файлов (таких как HTML, CSS, JavaScript, JSON и другие), что в свою очередь уменьшает время загрузки страницы и снижает использование пропускной способности сети. GZip-сжатие работает путем удаления избыточности в данных и замены повторяющихся последовательностей на более короткие символы или ссылки на предыдущие вхождения встреченных данных. Веб-серверы могут поддерживать GZip-сжатие для улучшения производительности веб-сайтов, отправляя сжатые версии файлов браузерам пользователей. В связке с ISPManager4, эти настройки могут быть настроены для улучшения работы Вашего веб-сервера.

Включение кэширование и GZip-сжатия при помощи панели управления

На серверах виртуального хостинга или VPS/VDS и выделенных серверах где установлена ОС Ubuntu 18, 20 и используется ISPManager4, Вы можете настроить кэширование и сжатие для Вашего сайта через панель управления хостингом.
Для этого зайдите в раздел WWW домены, выберите нужный домен и нажмите кнопку Изменить. Утановите срок действия кэширования и активируйте галочку напротив пункта GZip-сжатие.

Как включить кэширование и GZip сжатие

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

1. Часто обновляемый контент: если Ваш контент регулярно обновляется и изменяется, к примеру, новости, блоги или каталог товаров, то установка срока кэша на 1 день может быть предпочтительной, чтобы пользователи всегда видели актуальную информацию.

2. Редко изменяемый контент: для статического контента, который редко изменяется, например, изображения, стили CSS или скрипты JavaScript, срок действия кэша можно увеличить до 7, 14, 30, или даже 366 дней. Это поможет сократить количество запросов к серверу и ускорить загрузку страниц для повторных посещений.

3. Сбалансированный подход: возможно, оптимальным решением будет установка срока кэша на промежуточный период, например, 30 или 90 дней. Это обеспечит баланс между актуальностью контента и производительностью веб-сайта.

4. Индивидуальные потребности: учитывайте также особенности Вашего бизнеса и требования пользователей. Например, если у вас интернет-магазин, то продукты могут обновляться чаще, чем статьи на блоге, и, следовательно, срок кэша может быть установлен короче.

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

Включение кэширования и GZip-сжатия на серверах без помощи панели управления

Для услуг виртуальных и выделенных серверов, где не используется панель управления, кэширование и сжатие нужно подключать вручную. Для этого, необходимо в файле конфигурации Nginx (/etc/nginx/nginx.conf) в рамках директивы server для нужного сайта вписать строки:

В примере показано кэширование со сроком действия кэша 7 дней.
expires 7d;
gzip on;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json;
gzip_disable "msie6";
gzip_comp_level 6;

Добавлять указанные строки нужно сразу после директивы:

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

Пример блока с настройками в конфигурационном файле Nginx

	server {
		server_name examplesite.com;
		listen 91.234.32.170;
		listen 91.234.32.170:443 ssl;
		disable_symlinks if_not_owner from=$root_path;
		set $root_path /var/www/exampleuser/data/www/examplesite.com;
	location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
		expires 7d;
		gzip on;
		gzip_min_length 1000;
		gzip_proxied any;
		gzip_types text/plain text/xml application/xml application/x-javascript text/javascript text/css text/json;
		gzip_disable "msie6";
		gzip_comp_level 6;
		root $root_path;
		access_log /var/www/nginx-logs/exampleuser isp;
		access_log /var/www/httpd-logs/examplesite.com.access.log ;
		error_page 404 = @fallback;
}

После добавления указанных строк нужно сохранить файл конфигурации Nginx и перезагрузить его командой:

  1. service nginx restart

или

  1. systemctl restart nginx