Вступ
Коли ваш вебсайт проходить обслуговування або оновлення, важливо повідомити користувачів про тимчасову недоступність ресурсу. Це можна зробити через сторінку обслуговування. Одним із найбільш ефективних способів реалізації такої сторінки є використання Nginx — високопродуктивного веб-сервера, який широко використовується для обслуговування вебсайтів.
У цій статті ми розглянемо, як налаштувати сторінку обслуговування за допомогою Nginx і правильно конфігурувати сервер для коректного відображення цієї сторінки під час технічного обслуговування.
Як встановити nginx на ваш Ubuntu сервер можна глянути ось тут.
Чому важливо використовувати сторінку обслуговування?
Коли ваш сайт перебуває в режимі технічного обслуговування, користувачі, які намагаються отримати доступ до нього, повинні отримати чітке повідомлення, що сайт тимчасово недоступний. Це важливо з кількох причин:
- Інформування користувачів: Ваші відвідувачі будуть знати, що сайт тимчасово недоступний і коли вони можуть повернутися.
- Запобігання проблемам з SEO: Користування правильними HTTP статусами, такими як 503 (Service Unavailable), дозволить пошуковим системам зрозуміти, що сайт тимчасово не працює і уникнути санкцій за недоступність.
- Підвищення довіри: Професійний вигляд сторінки обслуговування підвищить довіру до вашого сайту.
Створення простого HTML-файлу для сторінки обслуговування
Першим кроком є створення сторінки обслуговування, яку буде відображено користувачам. Ось простий приклад такого HTML файлу:
<!DOCTYPE html>
<html lang="uk">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Сайт на обслуговуванні</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
padding: 50px;
}
h1 {
color: #ff0000;
}
p {
font-size: 18px;
}
</style>
</head>
<body>
<h1>Сайт тимчасово недоступний</h1>
<p>Ми проводимо технічне обслуговування. Будь ласка, спробуйте знову пізніше.</p>
</body>
</html>
Збережіть цей файл як maintenance.html
. Ви можете змінити його зміст відповідно до вашого бренду або стилю.
Налаштування Nginx для показу сторінки обслуговування
Далі вам потрібно налаштувати Nginx таким чином, щоб він відображав вашу сторінку обслуговування замість звичайного контенту сайту під час обслуговування.
Крок 1: Створення папки для сторінки обслуговування
Розмістіть файл maintenance.html
у папці, до якої Nginx має доступ. Наприклад:
sudo mkdir -p /var/www/html/maintenance
sudo cp /path/to/maintenance.html /var/www/html/maintenance/
Крок 2: Налаштування конфігурації Nginx
Вам потрібно відредагувати конфігурацію Nginx, щоб при доступі до сайту під час обслуговування він відображав цю сторінку.
Відкрийте ваш конфігураційний файл Nginx (наприклад, /etc/nginx/sites-available/default
або /etc/nginx/nginx.conf
) і додайте або змініть наступне:
server {
listen 80;
server_name example.com; # Замість example.com вкажіть ваш домен
# Включаємо сторінку обслуговування
location / {
try_files /maintenance.html =503;
}
error_page 503 /maintenance.html;
location = /maintenance.html {
root /var/www/html/maintenance;
internal;
}
# Встановлюємо заголовок Retry-After для статусу 503
add_header Retry-After 3600; # Час в секундах (наприклад, 1 година)
}
Крок 3: Перезапуск Nginx
Після зміни конфігурації перезапустіть Nginx, щоб застосувати зміни:
sudo systemctl restart nginx
Також ви зможете перезавантажити конфігурацію за допомогою:
sudo systemctl reload nginx
Це дозволяє застосувати зміни конфігурації без переривання роботи сервера, тобто сайт не буде недоступний, nginx завантажить нову конфігурацію та запустить нові робочі процеси, але старі процеси продовжують обробляти запити, поки нові процеси не будуть готові. Після цього старі процеси завершуються
Висновки
Створення сторінки обслуговування з допомогою Nginx — це простий і ефективний спосіб інформувати користувачів про технічні роботи на сайті. З правильними налаштуваннями, ви зможете забезпечити професійне відображення цієї сторінки, зберігаючи при цьому SEO та не порушуючи доступність для відвідувачів.