Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
        • Обзор
        • Консоль управления
        • Terraform
      • Перенос WordPress сайта с хостинга в Yandex Cloud
      • Организация виртуального хостинга
      • Создание веб-приложения на Python с использованием фреймворка Flask
      • Хостинг статического сайта на фреймворке Gatsby
      • Миграция в Cloud CDN из стороннего CDN-провайдера
      • Получение статистики посещения сайта с использованием S3 Select

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Создайте ВМ для WordPress
  • Создайте кластер БД MySQL®
  • Настройте веб-сервер Nginx
  • Установите WordPress и дополнительные компоненты
  • Завершите настройку WordPress
  • Настройте DNS
  • Добавьте зону DNS
  • Добавьте ресурсные записи
  • Делегируйте доменное имя
  • Проверьте работу сайта
  • Как удалить созданные ресурсы
  1. Прикладные решения
  2. Создание сайта
  3. Сайт на WordPress с БД MySQL®
  4. Консоль управления

Создание сайта на WordPress с кластером базы данных MySQL® с помощью консоли управления

Статья создана
Yandex Cloud
Обновлена 26 декабря 2024 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Создайте ВМ для WordPress
  • Создайте кластер БД MySQL®
  • Настройте веб-сервер Nginx
  • Установите WordPress и дополнительные компоненты
  • Завершите настройку WordPress
  • Настройте DNS
    • Добавьте зону DNS
    • Добавьте ресурсные записи
    • Делегируйте доменное имя
  • Проверьте работу сайта
  • Как удалить созданные ресурсы

Чтобы создать инфраструктуру для сайта на WordPress с кластером базы данных MySQL® c помощью консоли управления Yandex Cloud:

Чтобы настроить сайт на WordPress с кластером MySQL®:

  1. Подготовьте облако к работе.
  2. Создайте ВМ для WordPress.
  3. Создайте кластер БД MySQL®.
  4. Настройте веб-сервер Nginx.
  5. Установите WordPress и дополнительные компоненты.
  6. Завершите настройку WordPress.
  7. Настройте DNS.
  8. Проверьте работу сайта.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки сайта на WordPress с кластером MySQL® входит:

  • плата за постоянно запущенную ВМ (см. тарифы Yandex Compute Cloud);
  • плата за кластер БД MySQL® (см. тарифы Yandex Managed Service for MySQL®);
  • плата за использование динамического или статического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud);
  • плата за публичные DNS-запросы и зоны DNS (см. тарифы Yandex Cloud DNS).

Создайте ВМ для WordPressСоздайте ВМ для WordPress

Чтобы создать виртуальную машину для WordPress:

Консоль управления
  1. На странице каталога в консоли управления нажмите кнопку Создать ресурс и выберите Виртуальная машина.

  2. В блоке Образ загрузочного диска выберите один из публичных образов: Debian 11, Ubuntu 20.04 LTS или CentOS 7.

  3. В блоке Расположение выберите зону доступности, в которой будет находиться ВМ. Если вы не знаете, какая зона доступности вам нужна, оставьте выбранную по умолчанию.

  4. В блоке Вычислительные ресурсы перейдите на вкладку Своя конфигурация и укажите необходимую платформу, количество vCPU и объем RAM:

    • Платформа — Intel Ice Lake.
    • vCPU — 2.
    • Гарантированная доля vCPU — 20%.
    • RAM — 2 ГБ.
  5. В блоке Сетевые настройки:

    • В поле Подсеть выберите сеть и подсеть, к которым нужно подключить ВМ. Если нужной сети или подсети еще нет, создайте их.
    • В поле Публичный IP-адрес оставьте значение Автоматически, чтобы назначить ВМ случайный внешний IP-адрес из пула Yandex Cloud, или выберите статический адрес из списка, если вы зарезервировали его заранее.
  6. В блоке Доступ выберите вариант SSH-ключ и укажите данные для доступа на ВМ:

    • В поле Логин введите имя пользователя, например: yc-user. Не используйте имя root или другие имена, зарезервированные ОС. Для выполнения операций, требующих прав суперпользователя, используйте команду sudo.
    • В поле SSH-ключ выберите SSH-ключ, сохраненный в вашем профиле пользователя организации.

      Если в вашем профиле нет сохраненных SSH-ключей или вы хотите добавить новый ключ:

      • Нажмите кнопку Добавить ключ.
      • Задайте имя SSH-ключа.
      • Загрузите или вставьте содержимое открытого SSH-ключа. Пару SSH-ключей для подключения к ВМ по SSH необходимо создать самостоятельно.
      • Нажмите кнопку Добавить.

      SSH-ключ будет добавлен в ваш профиль пользователя организации.

      Если в организации отключена возможность добавления пользователями SSH-ключей в свои профили, добавленный открытый SSH-ключ будет сохранен только в профиле пользователя создаваемой виртуальной машины.

  7. В блоке Общая информация задайте имя ВМ: wp-mysql-tutorial-web.

    IP-адрес и имя хоста (FQDN) для подключения к ВМ назначается ей при создании. Если вы выбрали вариант Без адреса в поле Публичный IP-адрес, вы не сможете обращаться к ВМ из интернета.

  8. Нажмите Создать ВМ.

Создание ВМ может занять несколько минут. Когда ВМ перейдет в статус RUNNING, вы можете переходить к следующему шагу.

При создании ВМ назначается публичный IP-адрес и имя хоста (FQDN). Эти данные можно использовать для доступа по SSH.

Создайте кластер БД MySQL®Создайте кластер БД MySQL®

Чтобы создать кластер БД MySQL®:

Консоль управления
  1. На странице каталога в консоли управления нажмите кнопку Создать ресурс и выберите Кластер MySQL.

  2. В поле Имя кластера введите имя: wp-mysql-tutorial-db-cluster.

  3. В блоке Класс хоста выберите s3-c2-m8.

  4. В блоке Размер хранилища укажите 10 ГБ.

  5. В блоке База данных:

    • В поле Имя БД введите wp-mysql-tutorial-db.
    • В поле Имя пользователя введите wordpress.
    • В поле Пароль введите пароль, который вы будете использовать для доступа к БД.
  6. В блоке Сетевые настройки выберите сеть, к которой будет подключен кластер.

  7. В блоке Хосты добавьте еще два хоста в других зонах доступности. При создании хостов не включайте для них Публичный доступ.

  8. В блоке Настройки СУБД нажмите кнопку Настроить.

    В поле default_authentication_plugin выберите пункт mysql_native_password и нажмите кнопку Сохранить.

  9. Нажмите кнопку Создать кластер.

Создание кластера БД может занять несколько минут.

Настройте веб-сервер NginxНастройте веб-сервер Nginx

После того как ВМ wp-mysql-tutorial-web перейдет в статус RUNNING:

  1. В блоке Сеть на странице ВМ в консоли управления найдите публичный IP-адрес ВМ.

  2. Подключитесь к ВМ по протоколу SSH. Для этого можно использовать утилиту ssh в Linux и macOS и программу PuTTY для Windows.

    Рекомендуемый способ аутентификации при подключении по SSH — с помощью пары ключей. Не забудьте настроить использование созданной пары ключей: закрытый ключ должен соответствовать открытому ключу, переданному на ВМ.

  3. Установите Nginx, менеджер процессов PHP-FPM и дополнительные пакеты:

    Debian/Ubuntu
    CentOS
    sudo apt-get update
    sudo apt-get install -y nginx-full php-fpm php-mysql
    sudo systemctl enable nginx
    
    sudo yum -y install epel-release
    sudo yum -y install nginx
    sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    sudo yum -y --enablerepo=remi-php74 install php php-mysql php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt
    sudo yum -y --enablerepo=remi-php74 install php-fpm
    sudo systemctl enable nginx
    sudo systemctl enable php-fpm
    
  4. Задайте настройки веб-сервера в конфигурационных файлах Nginx:

    Debian/Ubuntu
    CentOS
    1. Вы можете отредактировать файл с помощью редактора nano:

      sudo nano /etc/nginx/sites-available/wordpress
      
    2. Приведите файл к виду:

      server {
        listen 80 default_server;
      
        root /var/www/wordpress;
        index index.php;
      
        server_name <DNS-имя_сервера>;
      
        location / {
          try_files $uri $uri/ =404;
        }
      
        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
          root /usr/share/nginx/html;
        }
      
        location ~ \.php$ {
          try_files $uri =404;
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
          fastcgi_index index.php;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include fastcgi_params;
        }
      }
      
    3. Разрешите запуск вашего сайта:

      sudo rm /etc/nginx/sites-enabled/default
      sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
      

    Вы можете отредактировать файлы nginx.conf и wordpress.conf с помощью редактора nano:

    1. Откройте файл nginx.conf:

      sudo nano /etc/nginx/nginx.conf
      
    2. Приведите файл к виду:

      user nginx;
      worker_processes auto;
      error_log /var/log/nginx/error.log;
      pid /run/nginx.pid;
      include /usr/share/nginx/modules/*.conf;
      
      events {
        worker_connections 1024;
      }
      
      http {
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
      
        access_log  /var/log/nginx/access.log main;
      
        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
      
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
      
        include /etc/nginx/conf.d/*.conf;
      }
      
    3. Откройте файл wordpress.conf:

      sudo nano /etc/nginx/conf.d/wordpress.conf
      
    4. Приведите файл к виду:

      server {
        listen 80 default_server;
      
        root /usr/share/nginx/wordpress/;
        index index.php;
      
        server_name <DNS-имя_сервера>;
      
        location / {
          try_files $uri $uri/ =404;
        }
      
        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
          root /usr/share/nginx/html;
        }
      
        location ~ \.php$ {
          try_files $uri =404;
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          fastcgi_pass 127.0.0.1:9000;
          fastcgi_index index.php;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include fastcgi_params;
        }
      }
      

Установите WordPress и дополнительные компонентыУстановите WordPress и дополнительные компоненты

  1. Загрузите и распакуйте последнюю версию WordPress:

    Debian/Ubuntu
    CentOS
    wget https://wordpress.org/latest.tar.gz
    tar -xzf latest.tar.gz
    mv wordpress/wp-config-sample.php wordpress/wp-config.php
    sudo mv wordpress /var/www/wordpress
    sudo chown -R www-data:www-data /var/www/wordpress
    
    curl https://wordpress.org/latest.tar.gz --output latest.tar.gz
    tar -xzf latest.tar.gz
    mv wordpress/wp-config-sample.php wordpress/wp-config.php
    sudo mv wordpress /usr/share/nginx/wordpress
    sudo chown -R nginx:nginx /usr/share/nginx/wordpress/
    

    Измените настройки SELinux:

    sudo semanage fcontext -a -t httpd_sys_content_t "/usr/share/nginx/wordpress(/.*)?"
    sudo semanage fcontext -a -t httpd_sys_rw_content_t "/usr/share/nginx/wordpress(/.*)?"
    sudo restorecon -R /usr/share/nginx/wordpress
    sudo setsebool -P httpd_can_network_connect 1
    
  2. Получите ключи безопасности WordPress:

    curl --silent https://api.wordpress.org/secret-key/1.1/salt/
    

    Сохраните вывод команды — полученные ключи будут нужны на следующем шаге.

  3. Добавьте ключи безопасности в конфигурационный файл WordPress wp-config.php. Вы можете отредактировать файл с помощью редактора nano:

    Debian/Ubuntu
    CentOS
    sudo nano /var/www/wordpress/wp-config.php
    
    sudo nano /usr/share/nginx/wordpress/wp-config.php
    

    Замените блок конфигурации на значения, полученные на предыдущем шаге:

    define('AUTH_KEY',         't vz,|............R lZ5]');
    define('SECURE_AUTH_KEY',  '@r&pPD............dK-A%=');
    define('LOGGED_IN_KEY',    '%6TuLl............9>/dNE');
    define('NONCE_KEY',        'DO(u.H............$?ja-e');
    define('AUTH_SALT',        '|G Vo<............Xeb.~y');
    define('SECURE_AUTH_SALT', 'Y5tIYA............7Lxf8J');
    define('LOGGED_IN_SALT',   'gR]>WZ............<>|;YY');
    define('NONCE_SALT',       '=]nQIb............HLT2:9');
    
  4. Перейдите к блоку конфигурации подключения к кластеру wp-mysql-tutorial-db-cluster:

    // ** MySQL® settings - You can get this info from your web host. ** //
    /** The name of the database for WordPress. */
    
    define( 'DB_NAME', '<DB_NAME>' );
    /** MySQL® database username. */
    define( 'DB_USER', '<DB_USER>' );
    
    /** MySQL® database password. */
    define( 'DB_PASSWORD', '<DB_PASSWORD>' );
    
    /** MySQL® hostname. */
    define( 'DB_HOST', '<DB_HOST>' );
    

    Укажите в файле вместо:

    • <DB_NAME> — имя БД wp-mysql-tutorial-db.

    • <DB_USER> — имя пользователя wordpress.

    • <DB_PASSWORD> — пароль, заданный при создании кластера БД.

    • <DB_HOST> — имя хоста MySQL® вида XXXX-XXXXXXXXXX.mdb.yandexcloud.net.

      Чтобы узнать FQDN хоста MySQL®:

      Консоль управления
      CLI
      1. Перейдите на страницу кластера MySQL® в консоли управления.
      2. На вкладке Базы данных рядом с БД нажмите значок → Подключиться.
      3. Найдите строчку mysql --host=ХХХХ-ХХХХХХХХХХ.mdb.yandexcloud.net, где ХХХХ-ХХХХХХХХХХ.mdb.yandexcloud.net — это FQDN хоста с ролью MASTER.

      Получите список хостов и скопируйте NAME хоста с ролью MASTER:

      yc managed-mysql host list --cluster-name <имя_кластера_MySQL®>
      
      +------------------------+----------------------+---------+--------+-------------------+-----------+
      |           NAME         |      CLUSTER ID      |  ROLE   | HEALTH |      ZONE ID      | PUBLIC IP |
      +------------------------+----------------------+---------+--------+-------------------+-----------+
      | rc1a-...mdb.yandexcloud.net | c9quhb1l32unm1sdn0in | MASTER  | ALIVE  | ru-central1-a | false     |
      | rc1b-...mdb.yandexcloud.net | c9quhb1l32unm1sdn0in | REPLICA | ALIVE  | ru-central1-b | false     |
      +------------------------+----------------------+---------+--------+-------------------+-----------+
      
  5. Перезапустите Nginx и PHP-FPM:

    Debian/Ubuntu
    CentOS
    sudo systemctl restart nginx.service
    sudo systemctl restart php7.4-fpm.service
    
    sudo systemctl restart nginx.service
    sudo systemctl restart php-fpm.service
    

Завершите настройку WordPressЗавершите настройку WordPress

  1. В блоке Сеть на странице ВМ в консоли управления найдите публичный IP-адрес ВМ.
  2. Перейдите по адресу ВМ в браузере.
  3. Выберите язык и нажмите кнопку Продолжить.
  4. Заполните информацию для доступа к сайту:
    • Укажите любое название сайта, например, wp-your-project.
    • Укажите имя пользователя, которое будет использоваться для входа в административную панель, например, admin.
    • Укажите пароль, который будет использоваться для входа в административную панель.
    • Укажите вашу электронную почту.
  5. Нажмите кнопку Установить WordPress.
  6. Если установка прошла успешно, нажмите кнопку Войти.
  7. Войдите на сайт, используя указанные на прошлых шагах имя пользователя и пароль. После этого откроется административная панель, в которой можно приступать к работе с вашим сайтом.

Настройте DNSНастройте DNS

Если у вас есть зарегистрированное доменное имя, воспользуйтесь сервисом Cloud DNS для управления доменом.

В инструкции ниже описана настройка DNS для доменного имени example.com.

Добавьте зону DNSДобавьте зону DNS

Консоль управления

Чтобы добавить публичную зону DNS:

  1. Откройте раздел Cloud DNS в каталоге, где требуется создать зону DNS.
  2. Нажмите кнопку Создать зону.
  3. Задайте настройки зоны DNS:
    • Зона — example.com.. Или укажите ваш зарегистрированный домен.
    • Тип — Публичная.
    • Имя — example-zone-1.
  4. Нажмите кнопку Создать.

Добавьте ресурсные записиДобавьте ресурсные записи

Создайте в публичной зоне записи DNS:

Консоль управления
  1. В блоке Сеть на странице виртуальной машины в консоли управления найдите публичный IP-адрес ВМ.
  2. Создайте запись типа А:
    • Откройте раздел Cloud DNS в каталоге, где находится зона DNS example.com.
    • Выберите зону DNS example.com из списка.
    • Нажмите кнопку Создать запись.
    • Задайте параметры записи:
      • Имя — оставьте пустым.
      • Тип — оставьте значение А.
      • Значение — введите публичный адрес вашей ВМ.
      • TTL (в секундах) (время кэширования записи) — оставьте значение по умолчанию.
    • Нажмите кнопку Создать.
  3. Создайте запись типа CNAME:
    • Выберите зону DNS example.com из списка.
    • Нажмите кнопку Создать запись.
    • Задайте параметры записи:
      • Имя — www.
      • Тип — выберите значение CNAME.
      • Значение — введите example.com.
      • TTL (в секундах) (время кэширования записи) — оставьте значение по умолчанию.
    • Нажмите кнопку Создать.

Делегируйте доменное имяДелегируйте доменное имя

Делегирование — это перенос ответственности с серверов регистратора на ваши серверы. Для домена создаются ресурсные записи типа NS (ns1.yandexcloud.net и ns2.yandexcloud.net).

Чтобы делегировать домен, укажите для него DNS-серверы в личном кабинете регистратора.

Делегирование происходит не сразу. Серверы интернет-провайдеров обычно обновляют записи до 24 часов (86 400 секунд). Это обусловлено значением TTL, в течение которого кэшируются записи для доменов.

Проверить делегирование домена можно с помощью сервиса Whois или утилиты dig:

dig +short NS example.com

Результат:

ns2.yandexcloud.net.
ns1.yandexcloud.net.

Проверьте работу сайтаПроверьте работу сайта

Чтобы проверить работу сайта, введите в браузере его IP-адрес или доменное имя:

  • http://<публичный_IP-адрес_ВМ>.
  • http://www.example.com.

Для входа в панель управления WordPress используйте адрес http://www.example.com/wp-admin/.

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  1. Удалите зону DNS.
  2. Удалите кластер MySQL®.
  3. Удалите ВМ.

Если вы зарезервировали для ВМ статический публичный IP-адрес, удалите его.

См. такжеСм. также

  • Создание сайта на WordPress с кластером базы данных MySQL® с помощью Terraform.

Была ли статья полезна?

Предыдущая
Обзор
Следующая
Terraform
Проект Яндекса
© 2025 ООО «Яндекс.Облако»