Вступ до мультисайтового хостингу на Bare Metal
Інвестуючи у виділений сервер Valebyte, ви отримуєте чисту, необмежену потужність. На відміну від спільного хостингу або невеликих віртуальних приватних серверів, виділений сервер забезпечує цикли процесора, оперативну пам'ять та NVMe-накопичувачі, необхідні для одночасної роботи кількох вебсайтів промислового рівня. Незалежно від того, чи ви веб-агентство, що керує портфоліо клієнтів, розробник, який запускає різні CI/CD середовища, або власник бізнесу з кількома брендами, Nginx є галузевим стандартом вебсервера для цих завдань.
Чому варто використовувати Nginx для кількох вебсайтів?
Nginx використовує асинхронну архітектуру, керовану подіями, що дозволяє йому обробляти тисячі одночасних з'єднань з мінімальним споживанням пам'яті. На виділеному сервері це означає, що ви можете масштабувати свою веб-присутність горизонтально на різних доменах, зберігаючи пікову продуктивність для кожного відвідувача. Секрет полягає в серверних блоках (Server Blocks) (подібно до віртуальних хостів Apache), які дозволяють Nginx спрямовувати вхідний трафік у потрібний каталог на основі імені домену в заголовку HTTP-запиту.
Попередні вимоги та вимоги до сервера
Перш ніж ми почнемо налаштування, переконайтеся, що ваше середовище відповідає наступним вимогам:
- Виділений сервер Valebyte: з чистою інсталяцією дистрибутива Linux (рекомендуються Ubuntu 22.04 або Debian 12).
- Root або Sudo доступ: ви повинні мати права адміністратора для встановлення пакетів та зміни конфігурацій системи.
- Доменні імена: принаймні два доменних імені (наприклад, example1.com та example2.com) з A-записами, спрямованими на публічну IP-адресу вашого сервера.
- Доступ через брандмауер: порти 80 (HTTP) та 443 (HTTPS) повинні бути відкриті.
Крок 1: Встановлення Nginx на ваш виділений сервер
Спочатку оновіть репозиторій пакетів і встановіть вебсервер Nginx. Підключіться до свого сервера через SSH і виконайте наступні команди:
sudo apt update
sudo apt install nginx -yПісля завершення встановлення перевірте, чи працює Nginx:
sudo systemctl status nginxЯкщо служба активна, ви можете перейти за IP-адресою вашого сервера у веб-браузері, щоб побачити стандартну сторінку привітання Nginx.
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
Крок 2: Створення структури каталогів
Щоб ваші вебсайти були впорядкованими та безпечними, найкраще створити окремий каталог для кожного домену в межах шляху /var/www/. Це запобігає перехресному забрудненню файлів і полегшує керування резервними копіями.
sudo mkdir -p /var/www/example1.com/public_html
sudo mkdir -p /var/www/example2.com/public_htmlНалаштування прав доступу та власності
За замовчуванням ці каталоги належать користувачу root. Щоб дозволити вебсерверу та вашим інструментам розгортання взаємодіяти з файлами, змініть власника на вашого звичайного користувача, а групу — на www-data.
sudo chown -R $USER:www-data /var/www/example1.com/public_html
sudo chown -R $USER:www-data /var/www/example2.com/public_html
sudo chmod -R 755 /var/wwwКрок 3: Створення тестового контенту
Для перевірки нашої конфігурації створимо простий HTML-файл для кожного сайту. Це допоможе нам переконатися, що серверні блоки правильно спрямовують трафік.
Для першого сайту:
nano /var/www/example1.com/public_html/index.htmlВставте наступний вміст:
<html>
<head><title>Ласкаво просимо до Example 1</title></head>
<body><h1>Успіх! Example1.com працює на Valebyte Bare Metal.</h1></body>
</html>Повторіть цей процес для example2.com, відповідно змінивши текст.
Крок 4: Налаштування серверних блоків Nginx
Nginx зберігає свої конфігураційні файли в /etc/nginx/sites-available/. Ми створимо новий файл конфігурації для кожного вебсайту.
Конфігурація для Example1.com
sudo nano /etc/nginx/sites-available/example1.comВставте наступний блок конфігурації:
server {
listen 80;
listen [::]:80;
root /var/www/example1.com/public_html;
index index.html index.htm;
server_name example1.com www.example1.com;
location / {
try_files $uri $uri/ =404;
}
access_log /var/log/nginx/example1.com.access.log;
error_log /var/log/nginx/example1.com.error.log;
}Конфігурація для Example2.com
Створіть аналогічний файл для другого домену:
sudo nano /etc/nginx/sites-available/example2.comЗмініть root, server_name та шляхи до логів відповідно до другого сайту. Такий модульний підхід гарантує, що якщо один сайт зазнає високого трафіку або помилок конфігурації, він залишиться ізольованим від іншого.
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
Крок 5: Активація конфігурацій та тестування
Nginx використовує систему символічних посилань для визначення активних сайтів. Створіть посилання на ваші нові файли з sites-available у sites-enabled:
sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/example2.com /etc/nginx/sites-enabled/Перед перезапуском Nginx завжди перевіряйте конфігурацію на наявність синтаксичних помилок:
sudo nginx -tЯкщо ви бачите syntax is ok та test is successful, перезапустіть службу Nginx, щоб застосувати зміни:
sudo systemctl restart nginxКрок 6: Захист ваших вебсайтів за допомогою SSL (Let's Encrypt)
У сучасному вебі HTTPS є обов'язковим для SEO та безпеки. Використовуючи Certbot, ви можете отримати безкоштовні SSL-сертифікати для всіх доменів, розміщених на вашому сервері Valebyte.
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example1.com -d www.example1.com
sudo certbot --nginx -d example2.com -d www.example2.comCertbot автоматично оновить ваші конфігураційні файли Nginx для обробки термінації SSL та перенаправлення всього HTTP-трафіку на HTTPS.
Поширені випадки використання мультисайтових виділених серверів
| Випадок використання | Навіщо використовувати виділений сервер? | Перевага Nginx |
|---|---|---|
| Портали ігрових серверів | Висока тактова частота процесора для ігрової логіки. | Швидка доставка статичного контенту для ресурсів. |
| Мережі електронної комерції | Ізоляція ресурсів бази даних для безпеки. | Відмінна обробка продажів з великою кількістю одночасних з'єднань. |
| Розробка SaaS | Прогнозована продуктивність для CI/CD конвеєрів. | Легке зворотне проксіювання до бекенд-мікросервісів. |
| Стрімінгові медіа | Виділена безлімітна пропускна здатність 1 Гбіт/с+. | Ефективна буферизація та пропускна здатність даних. |
Шукаєте сервер, який просто працює?
Valebyte VPS — NVMe, підтримка 24/7, розгортання за 60 секунд.
Усунення поширених проблем
1. Помилка 403 Forbidden
Це зазвичай стається через неправильні права доступу до файлів. Переконайтеся, що користувач www-data має доступ на читання до вашого веб-каталогу та доступ на виконання до батьківських каталогів.
2. Сайт показує стандартну сторінку Nginx
Перевірте, чи не перекриває стандартна конфігурація ваші серверні блоки. Вам може знадобитися видалити стандартне посилання: sudo rm /etc/nginx/sites-enabled/default і перезапустити Nginx.
3. Проблеми з розповсюдженням DNS
Якщо ваш браузер не може знайти сайт, скористайтеся командою dig, щоб перевірити, чи правильно ваш домен вказує на IP-адресу вашого виділеного сервера: dig +short example1.com.
Поради щодо розширеної оптимізації
Після того, як ваші сайти запрацюють, ви можете додатково оптимізувати свій сервер Valebyte, увімкнувши стиснення Gzip, налаштувавши кешування FastCGI для PHP-додатків та тонко налаштувавши параметри worker_processes і worker_connections у /etc/nginx/nginx.conf відповідно до кількості ядер вашого виділеного процесора.