Перейти к содержимому
Перейти в KPanelПерейти в KPanel
Содержание
Сайты

Управляемые дополнения: Postgres и Redis

Машинный перевод. Английский оригинал доступен.

Вкладка Addons позволяет подключить к сайту управляемую базу данных PostgreSQL или управляемый инстанс Redis без необходимости создавать и обслуживать для этого отдельный сервер. KapsuleHost выделяет ресурсы, выдаёт строку подключения и аккуратно демонтирует их при удалении.

Где находятся дополнения

Откройте Веб-сайты, выберите сайт, откройте группу Приложения в левом меню сайта и перейдите в Дополнения. Страница называется Управляемые дополнения.

В каталоге доступны два варианта:

ДополнениеТипичное использование
PostgreSQLОсновное хранилище данных для приложения, которое не использует MySQL
RedisКэширование, хранение сессий и очереди фоновых задач

Это отдельные сущности, не связанные с базой данных MySQL, которая идёт в комплекте со стандартным хостинг-сайтом. Та база находится на вкладке База данных и не требует подготовки: см. Подключение к базе данных через SSH-туннель.

Страница управляемых дополнений для сайта в KPanel

Запрос дополнения

  1. Найдите дополнение в разделе Добавить управляемую базу данных.
  2. Нажмите Добавить на сайт.

Запрос фиксируется немедленно, и дополнение появляется в разделе Ваши дополнения со значком PENDING и пометкой Waiting for provisioner. Страница обновляется автоматически каждые пятнадцать секунд, так что её можно оставить открытой.

Фоновая задача обрабатывает ожидающие запросы каждые несколько минут, создаёт отдельную базу данных и отдельного пользователя для вашего сайта и записывает зашифрованную строку подключения. После этого статус меняется на ACTIVE.

Для запроса или удаления дополнения требуется право sites:write. Участники команды с доступом только для чтения видят, какие дополнения существуют и их статус, но кнопки для них скрыты.

По одному дополнению каждого типа на сайт

На одном сайте может быть только одно дополнение PostgreSQL и одно дополнение Redis. Запрос второго дополнения того же типа будет отклонён с сообщением о том, что оно уже подготовлено, а каталог скрывает вариант после его установки. Когда установлены оба дополнения, раздел каталога отображает надпись All available addons are installed.

Чтение статуса

СтатусЗначение
PENDINGЗапрошено, в очереди на подготовку
PROVISIONINGСоздаётся прямо сейчас
ACTIVEГотово к использованию
FAILEDПодготовка не завершена; причина указана в строке
DELETEDУдалено, больше не отображается

Строка со статусом FAILED показывает под собой фактический текст ошибки, а не общее сообщение. Если причина не позволяет предпринять самостоятельные действия, процитируйте её дословно в обращении в поддержку: см. Создание обращения в поддержку.

Получение строки подключения

После того как дополнение переходит в статус ACTIVE, в его строке отображается замаскированная строка подключения, в которой пароль заменён точками, чтобы вы могли сразу увидеть хост и имя базы данных, не раскрывая учётные данные.

Нажмите Копировать подключение, чтобы скопировать полную строку подключения в буфер обмена. Она расшифровывается на сервере только для этого конкретного запроса и никогда не выводится на странице, поэтому демонстрация экрана и скриншоты её не раскроют. Каждое раскрытие записывается в журнал аудита сайта и отображается в Журнале активности сайта.

Строка имеет обычный URL-формат для каждого движка и содержит хост, порт, пользователя, пароль и имя базы данных, созданные для этого сайта.

Использование в вашем приложении

Вставьте строку подключения туда, откуда ваше приложение считывает конфигурацию. Для сайта на Node.js правильное место для неё, вкладка Secrets, под ключом вроде DATABASE_URL или REDIS_URL, в окружении production.

Не прописывайте строку подключения непосредственно в файл, который вы коммитите. Она содержит действующий пароль. Если она попадёт в удалённый репозиторий git, её нужно считать скомпрометированной, и единственное настоящее решение, удалить дополнение и запросить новое, поскольку учётные данные нельзя заменить на месте из панели.

Удаление дополнения

Нажмите Delete в соответствующей строке. KPanel попросит подтверждение и прямо предупредит о последствиях: это удалит управляемую базу данных, и данные будет невозможно восстановить.

Строка помечается как удалённая немедленно, а обработчик удаляет лежащую в основе базу данных и пользователя при следующем проходе. Существующие подключения разрываются в рамках этого демонтажа.

При удалении управляемого дополнения резервная копия не создаётся, и отменить действие невозможно. Если в нём есть что-то, что вы хотите сохранить, сначала выгрузите данные с помощью pg_dump или redis-cli --rdb, пока дополнение ещё активно, а строка подключения ещё работает.

Выбор между вариантами

Используйте PostgreSQL, когда вашему приложению нужна реляционная база данных и оно написано под Postgres: строгие ограничения, транзакции, столбцы JSON и полнотекстовый поиск, которые иначе пришлось бы реализовывать отдельно.

Используйте Redis для того, что может исчезнуть без потерь: кэшированные фрагменты, счётчики ограничения частоты запросов, хранение сессий и очереди задач. Относитесь к нему как к быстрому, но непостоянному хранилищу, а не как к системе учёта.

Используйте встроенную базу данных MySQL для WordPress и для всего, что уже написано под MySQL. Добавление дополнения Postgres на сайт WordPress не даёт никакой пользы, потому что WordPress не умеет с ним взаимодействовать.

Устранение неполадок

Дополнение долгое время находится в статусе PENDING. Обработчик запускается по расписанию, а не мгновенно. Оставьте страницу открытой, поскольку она обновляется сама, и проверьте позже. Если статус не изменился после нескольких проходов, создайте обращение в поддержку, указав домен сайта и тип дополнения.

Подготовка завершилась ошибкой FAILED. Прочитайте текст ошибки в строке. Удалите неудачное дополнение и запросите его снова, это безопасно: за строкой со статусом FAILED никогда не стояла действующая база данных.

Кнопка "Копировать подключение" не работает. Некоторые браузеры блокируют запись в буфер обмена, если вкладка не находится в фокусе. Сначала щёлкните на странице, затем снова нажмите кнопку.

Приложение не может подключиться. Проверьте по порядку три вещи: что статус дополнения ACTIVE, что вы скопировали строку, а не ввели её вручную, и что ваше приложение считывает именно то значение, которое вы установили, а не устаревшее значение из предыдущего развёртывания. Обычно для применения новой конфигурации требуется перезапуск.

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

Что дальше

Это было полезно?

Вы ИИ? Читайте эту страницу в Markdown

Похожие статьи

Подключение через SFTP: FileZilla, Cyberduck и командная строкаSFTP (Secure File Transfer Protocol, защищённый протокол передачи файлов) даёт вам прямой доступ к файлам вашего сайта на сервере.…SSL-сертификаты и HTTPSЭта статья простым языком объясняет, что такое SSL, как KapsuleHost автоматически обеспечивает SSL для ваших сайтов, и что делать, если с вашим сертификатом что…Сайты: с чего начатьКак работает хостинг сайтов в KapsuleHost, что находится на каждой вкладке сайта и какое руководство читать для конкретной задачи.…Мониторинг доступности сайтаКаждый сайт на KapsuleHost автоматически проверяется каждые 60 секунд, и вкладка Uptime показывает результат: текущий статус, процент времени безотказной работы…

Всё ещё нужна помощь?

Спросите Kora, она знает ваш аккаунт, или свяжитесь с нашей командой.

Связаться с намиНаписать в поддержку