Как да хоствате множество уебсайтове на един VPS сървър
Научете как да хоствате множество уебсайтове на един VPS сървър с помощта на виртуални хостове. Пълен наръчник за управление на множество домейни, SSL сертификати и разпределение на ресурси.

Хостването на множество уебсайтове на един VPS сървър е ефективен и икономичен начин за управление на няколко проекта. Използвайки виртуални хостове, можете да обслужвате различни домейни от един и същ сървър, всеки със собствена конфигурация, SSL сертификат и document root. Този наръчник ви показва как да настроите и управлявате множество уебсайтове на вашия VPS.
Предимства от хостване на множество сайтове
- Икономия на разходи: Един сървър вместо множество хостинг акаунти
- Централизирано управление: Всички сайтове на едно място
- Споделяне на ресурси: Ефективно използване на ресурсите на сървъра
- Лесно мащабиране: Добавяне на повече сайтове без допълнителна инфраструктура
- Обединени резервни копия: Резервно копие на всички сайтове заедно
- По-добър контрол: Пълен достъп до сървъра за всички проекти
Настройка на виртуални хостове с Nginx
Създайте отделни server блокове за всеки уебсайт:
nano /etc/nginx/sites-available/example1.com
server {
listen 80;
server_name example1.com www.example1.com;
root /var/www/example1.com;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginxSSL сертификати за множество домейни
Настройте SSL сертификати за всеки домейн с Certbot:
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example1.com -d www.example1.com
certbot --nginx -d example2.com -d www.example2.com
# Сертификатите се подновяват автоматично чрез cron:
certbot renew --dry-runУправление на ресурси
Мониторирайте и ограничавайте ресурсите на сайт:
- Използвайте PHP-FPM басейни с различни лимити на ресурси
- Настройте отделни MySQL бази данни за всеки сайт
- Мониторирайте използването на диска: df -h
- Проследявайте използването на паметта: htop или free -m
- Конфигурирайте ротация на логовете, за да предотвратите запълване на диска
- Използвайте инструменти за мониториране, за да проследявате производителността на всеки сайт
Изолация на сайтове
Уверете се, че сайтовете не се намесват един в друг:
- Отделни document roots: /var/www/site1, /var/www/site2
- Различни PHP-FPM басейни с лимити на ресурси
- Отделни потребители и бази данни
- Индивидуални SSL сертификати за домейн
- Изолирани log файлове за всеки сайт
- Използвайте chroot или контейнери за максимална изолация (напреднало)
Мониториране на множество сайтове
- Настройте мониториране на uptime за всеки домейн
- Мониторирайте редовно използването на дисковото пространство
- Проследявайте използването на честотната лента на сайт
- Настройте известия за високо използване на ресурси
- Редовни резервни копия на всички сайтове
- Мониторирайте датите на изтичане на SSL сертификатите