Вернуться к: 🎓 Учебный курс: «Администрирование и управление торговой платформой «Экосеть КМВ»
🎯 Урок 1. Инфраструктура: развертывание и масштабирование серверов
🖥️ Для кого: Системные администраторы
Цель: Развернуть отказоустойчивую среду для формирования 500+ торговых точек.
1.1. Текущая архитектура (технические требования и условия)
-
VPS №1 (веб-сервер): 4 ГБ RAM, 2 vCPU, 40 ГБ SSD, WordPress + Nginx/PHP-FPM.
-
SSL Let’s Encrypt — включён, автоматическое продление.
-
MySQL на том же сервере — стандартная установка.
1.2. Масштабирование до 500 точек (обязательно до подключения 50-й точки)
| Компонент | Действие | Где выполнить |
|---|---|---|
| Выделенный сервер БД | Создать второй VPS (Beget, тариф не ниже «Старт-2»: 4 ГБ RAM, 2 vCPU). Установить MySQL 8.0. | Личный кабинет Beget → Создать VPS |
| Перенос БД | На новом сервере: mysql -u root -p → CREATE DATABASE ecoset_db;. На старом: mysqldump ecoset_db | ssh root@новый-VPS mysql ecoset_db. |
Консоль |
| Настройка веб-сервера | В wp-config.php заменить DB_HOST на IP нового VPS. |
Файлы WordPress |
| Redis для кэша | На веб-сервере: apt install redis-server php-redis. В wp-config.php: define('WP_REDIS_HOST', '127.0.0.1');. |
Консоль + файл |
| PHP memory_limit | В php.ini → memory_limit = 1024M, max_execution_time = 300. |
Beget → Настройки PHP |
1.3. Мониторинг и бэкапы
-
Бэкапы: Настроить автоматический дамп БД каждые 6 часов → загружать в облако (Yandex Object Storage или S3).
Скрипт в cron:0 */6 * * * /usr/bin/mysqldump --all-databases | gzip > /backup/db_$(date +\%Y\%m\%d_\%H).sql.gz -
Мониторинг нагрузки: Установить Netdata на оба VPS:
bash <(curl -Ss https://my-netdata.io/kickstart.sh).
Контролировать: загрузка CPU (>70%), свободная RAM (<1 ГБ), количество процессов MySQL.
1.4. Безопасность (минимум)
-
Fail2ban на веб-сервере: заблокировать после 5 неудачных попыток входа в
/wp-admin. -
Доступ к панели управления (страница
/manager-panel) закрыть базовой авторизацией Nginx (создать отдельный пароль для менеджеров, не совпадающий с учётками WP).