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