Как разместить несколько сайтов на одном VPS сервере
Узнайте, как разместить несколько сайтов на одном VPS сервере с использованием виртуальных хостов. Полное руководство по управлению несколькими доменами, SSL сертификатами и распределению ресурсов.

Размещение нескольких сайтов на одном VPS сервере — это эффективный и экономичный способ управления несколькими проектами. Используя виртуальные хосты, вы можете обслуживать разные домены с одного сервера, каждый со своей конфигурацией, SSL сертификатом и корневой директорией. Это руководство покажет, как настроить и управлять несколькими сайтами на вашем 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
- Настройте ротацию логов для предотвращения заполнения диска
- Используйте инструменты мониторинга для отслеживания производительности каждого сайта
Изоляция сайтов
Убедитесь, что сайты не мешают друг другу:
- Отдельные корневые директории: /var/www/site1, /var/www/site2
- Разные пулы PHP-FPM с лимитами ресурсов
- Отдельные пользователи и базы данных
- Индивидуальные SSL сертификаты для каждого домена
- Изолированные файлы логов для каждого сайта
- Используйте chroot или контейнеры для максимальной изоляции (продвинутый уровень)
Мониторинг нескольких сайтов
- Настройте мониторинг uptime для каждого домена
- Регулярно мониторьте использование дискового пространства
- Отслеживайте использование пропускной способности для каждого сайта
- Настройте оповещения о высоком использовании ресурсов
- Регулярные резервные копии всех сайтов
- Мониторьте сроки действия SSL сертификатов