Внутри локальной сети на VPS - можно вынести базу данных MySQL на отдельный сервер. При таком варианте работы, сервер обрабатывает запросы MySQL через частное подключение.
Распределение ресурсов между виртуальными машинами может понадобиться, если база данных использует значительное количество ресурсов сервера. При использовании отдельного сервера для базы данных, появляется возможность выделить практически все ресурсы для работы базы данных без ущерба работы остальных сервисов.
Рассмотрим ниже конкретный пример, будем устанавливать подключение для CMS WordPress в Ubuntu 20.04
Подготовительный этап:
В первую очередь необходимо:
- Перейти в панель управления SpaceWeb и заказать две виртуальные машины. Для удобства назовем их как VPS_MYSQL (на нем будет располагаться база данных) и VPS_WP (на нем будет располагаться сайт)
- На VPS_WP устанавливаем образ Ubuntu 20.04 и связку LEMP(NGINX, MySQL и PHP). Для VPS_MYSQL - Ubuntu 20.04
- Подключить VPS_MYSQL и VPS_WP к локальной сети по инструкции
Установка и настройка MySQL сервера:
- Подключитесь с помощью ssh к VPS_MYSQL
- Выполните установку MySQL сервера:
- Установите root пароль к MySQL. Для этого нужно подключиться к MySQL серверу и выполнить команду:
- Выполнить команду для смены пароля, где PASSWORD ваш выбранный пароль:
- Далее нужно применить изменения:
- Откройте конфигурационный файл MySQL:
В конфигурационном файле найдите секцию [mysqld] и поменяйте значения переменных bind-address и mysqlx-bind-address. Вместо 127.0.0.1 укажите IP-адрес VPS_MYSQL внутренней сети.
- Сохраните изменения в файле и выполните перезапуск MySQL-сервера:
- Подключитесь к MySQL:
В случае успешного подключения вы увидите приглашение в терминале для ввода команды.
- Создайте базу данных:
- Создайте пользователей для локального подключения к базе данных:
где localuser логин и password пароль
- Задайте права на изменения в базе данных:
- Создайте пользователя для удалённого подключения. В качестве хоста нужно указать локальный IP, присвоенный VPS_WP.
Для этого пользователя мы должны указать IP, с которого будет производиться подключение к БД, то есть не IP хоста, на котором расположена сама БД:
- где dediuser логин для удаленного подключения password пароль и 10.0.0.22 IP-адрес с которого будет производиться подключение к БД
- Этому пользователю также нужно задать права:
- Чтобы применить изменения выпоните команду:
Теперь можно выйти, выпонив в консоли exit
Протестируем подключение к локальной базе данных:
Если подключение было выполнено без ошибок можно выйти: exit
- Протестируем подключение удаленной базе данных. Перейдите на VPS_WP и подключитесь к базе данных на VPS_MYSQL:
после ключа -h укажите адрес машины VPS_MYSQL 10.0.0.20
Если подключение завершается ошибкой:
Вероятнее всего на VPS_MYSQL не был перезапущен сервер MySQL
Установка CMS WordPress:
- Подключитесь к VPS_WP скачайте пакет установки WordPress с официального сайта:
- Распакуйте загруженый архив:
- Сделайте копию файла конфигурации CMS и переименуйте, чтобы WordPress смог корректно работать:
- Откройте файл wp-config.php и укажите данные для подключения к БД:
Нужно изменить значение переменных:
- DB_NAME - имя БД;
- DB_USER - имя пользователя базы данных для удалённого подключения к ней;
- DB_PASSWORD - пароль от базы;
- DB_HOST - локальный IP VPS_MYSQL;
Выполните сохранение файла и закройте его
- Скопируйте папку CMS WordPress в корневую папку nginx:
- Для корректной обработки данных nginx, измените владельца на www-data:
- Откройте файл /etc/nginx/sites-enabled/default и добавьте для обработки index.php в строку под комментарием:
index index.php index.html index.htm index.nginx-debian.html;
- Перезагрузите nginx:
- Перейдите в браузер в адресной строке, обратитесь к установочному файлу http://внешний-ip-адрес-VPS_WP/wp-admin/install.php. Должна открыться страница установки WordPress.
- Выберите язык, далее "Продолжить", заполните необходимые данные в форме. Скопируйте пароль от панели админитрирования сайтом.
Проект полностью развернут.