Поможем реализовать

Вашу идею или проект

Создадим команду и сформируем фонд

0

🎯 Урок 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.phpdefine('WP_REDIS_HOST', '127.0.0.1');. Консоль + файл
PHP memory_limit В php.ini → memory_limit = 1024Mmax_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).

Добавить комментарий