5/5 - (1 голос)

Развертывание Strapi в Azure App Service обеспечивает масштабируемую и безопасную платформу для размещения headless CMS. Ниже приведен обзор процесса, включая преимущества, шаги настройки и советы по устранению неполадок.

Преимущества развертывания Strapi в службе приложений Azure

  1. Автоматическое масштабирование : приложения служб Azure динамически регулируют ресурсы в зависимости от рабочей нагрузки, обеспечивая высокую доступность во время пиков трафика .
  2. Непрерывное развертывание : интеграция с Azure DevOps поддерживает автоматические обновления и непрерывное улучшение.
  3. Простая интеграция : экосистема Azure обеспечивает простое подключение к таким службам, как база данных Azure для MySQL или PostgreSQL, хранилище Azure и инструменты мониторинга .
  4. Повышенная безопасность : такие функции, как поддержка HTTPS, интеграция с пользовательскими доменами и встроенные механизмы аутентификации, защищают ваше приложение и данные .
  5. Мониторинг и аналитика : такие инструменты, как Application Insights, предоставляют метрики для мониторинга производительности и устранения неполадок .

Действия по развертыванию Strapi в службе приложений Azure

1. Подготовка ресурсов

Используйте портал Azure для создания следующих объектов:

  • Группа ресурсов : организуйте все связанные ресурсы в одну группу.
  • Веб-приложение :
    • Публикация: Code
    • Стек выполнения: Node.js (например, Node 16 LTS или Node 20 LTS)
    • Операционная система: Linux (предпочтительно для лучшей совместимости)
    • План обслуживания приложений: выберите план на основе ожидаемой рабочей нагрузки .
  • База данных :
    • Используйте базу данных Azure для MySQL или PostgreSQL.
    • Настройте публичный доступ и настройте учетные данные .
  • Учетная запись хранения : для управления контентом, таким как изображения и файлы .

2. Настройка приложения Strapi

  • Убедитесь  server.js , что точка входа для вашего приложения содержит следующее содержимое:
    const strapi = require("strapi"); strapi().start();
  • Измените/config/server.js для доступа к переменным среды для  HOST и  PORT:
host: process.env.HOST, port: process.env.PORT || 3000,

3. Развертывание кода

Вы можете развернуть свое приложение Strapi одним из следующих способов:

а. Развертывание ZIP-архива

  1. Установите зависимости локально ( npm install или  yarn install).
  2. Создайте zip-архив вашего приложения.
  3. Используйте портал Azure или CLI для загрузки ZIP-файла в ваше веб-приложение.

б) Интеграция с GitHub

  1. Загрузите свой код Strapi в репозиторий GitHub.
  2. Подключите репозиторий через Центр развертывания в Azure.
  3. Настройте конвейеры сборки, которые устанавливают зависимости, собирают приложение ( yarn build) и развертывают его.

в) Конвейеры Azure DevOps

Создайте конвейеры для сборки и развертывания:

  • Задачи построения конвейера:
    yarn install set NODE_ENV=PRODUCTION yarn build rm -rf .cache .git
  • Задача развертывания конвейера:
    - task: AzureRmWebAppDeployment@4 inputs: azureSubscription: 'YourSubscription' appType: 'webAppLinux' WebAppName: 'YourAppName'

    4. Подключить базу данных

Обновите конфигурацию Strapi для подключения к базе данных с использованием переменных среды:

module.exports = { database: { client: 'mysql', // or 'postgres' connection: { host: process.env.DB_HOST, port: process.env.DB_PORT, database: process.env.DB_NAME, user: process.env.DB_USER, password: process.env.DB_PASS, }, }, };

5. Проверка развертывания

Получите доступ к своему приложению через его URL (например,  https://your-app-name.azurewebsites.net). Обратите внимание, что может потребоваться до 15 минут, чтобы URL стал активным после развертывания .

Советы по устранению неполадок

  1. Если развернутый сайт пуст:
    • Проверьте журналы в  Службе приложений > Центр развертывания > Журналы .
    • Обеспечьте надлежащие разрешения для доступа к базе данных .
  2. Избегайте записи в  wwwroot, так как в некоторых конфигурациях он доступен только для чтения (например, «Запуск из пакета») .
  3. Если развертывание не удалось, но журналы показывают успешное выполнение, подождите перед повторным развертыванием или обновлением страницы .

Выполнив эти шаги, вы сможете успешно развернуть Strapi в службе приложений Azure, используя ее возможности масштабируемости, безопасности и интеграции.