Руководство по развертыванию PHP и База данных Azure для MySQL — гибкое приложение сервера в службе приложение Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для MySQL — гибкий сервер

Служба приложений Azure — это высокомасштабируемая служба размещения с самостоятельной установкой исправлений на основе операционной системы Linux.

В этом руководстве показано, как создать и развернуть пример приложения PHP для приложение Azure service и интегрировать его с База данных Azure для MySQL гибким сервером на серверной части. Здесь вы будете использовать подключение к общедоступному доступу (разрешенные IP-адреса) в База данных Azure для MySQL гибком экземпляре сервера для подключения к приложению Служба приложений.

Из этого руководства вы узнаете, как выполнять следующие задачи:

  • Создание гибкого экземпляра сервера База данных Azure для MySQL
  • Подключение приложение PHP в экземпляр гибкого сервера База данных Azure для MySQL
  • Развертывание приложения в Службе приложений Azure.
  • Обновление и повторное развертывание приложения

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

Необходимые компоненты

Создание Гибкого сервера Базы данных Azure для MySQL

Во-первых, мы подготовим База данных Azure для MySQL гибкий экземпляр сервера с подключением к общедоступному доступу, настройте правила брандмауэра, чтобы приложение получите доступ к серверу и создадим рабочую базу данных.

Сведения об использовании подключения к частному доступу вместо этого и изоляции ресурсов приложений и баз данных в виртуальной сети см. в статье <Подключение веб-приложение Служба приложений s в База данных Azure для MySQL гибком экземпляре сервера в виртуальной сети.

Создание или изменение группы ресурсов

Группа ресурсов Azure — это логическая группа, в которой развертываются и управляются ресурсы Azure. Давайте создадим группу ресурсов rg-php-demo с помощью команды az group create в расположении centralus.

  1. Откройте командную строку.
  2. Войдите в свою учетную запись Azure.
    az login
    
  3. Выберите подписку Azure.
    az account set -s <your-subscription-ID>
    
  4. Создание группы ресурсов.
    az group create --name rg-php-demo --location centralus
    

Создание гибкого экземпляра сервера База данных Azure для MySQL

  1. Чтобы создать гибкий экземпляр сервера База данных Azure для MySQL с подключением к общедоступному доступу, выполните следующую команду az flexible-server create. Замените значения имени сервера, имени администратора и пароля.

    az mysql flexible-server create \
    --name <your-mysql-server-name> \
    --resource-group rg-php-demo \
    --location centralus \
    --admin-user <your-mysql-admin-username> \
    --admin-password <your-mysql-admin-password>
    

    Теперь вы создали База данных Azure для MySQL гибкий экземпляр сервера в регионе CentralUS. В основе сервера лежит номер SKU вычислительных ресурсов B1MS с увеличивающейся производительностью, 32 ГБ хранилища, 7-дневный период хранения резервных копий и настроенное общедоступное подключение.

  2. Затем, чтобы создать правило брандмауэра для вашего База данных Azure для MySQL гибкого экземпляра сервера, чтобы разрешить клиентские подключения, выполните следующую команду. Если для начального IP-адреса и конечного IP-адреса задано значение 0.0.0.0, к экземпляру гибко База данных Azure для MySQL го сервера могут подключаться только другие ресурсы Azure (например, приложения Служба приложений, виртуальные машины, кластер AKS и т. д.).

    az mysql flexible-server firewall-rule create \
     --name <your-mysql-server-name> \
     --resource-group rg-php-demo \
     --rule-name AllowAzureIPs \
     --start-ip-address 0.0.0.0 \
     --end-ip-address 0.0.0.0
    
  3. Чтобы создать новую База данных Azure для MySQL гибкую базу данных рабочей базы данных сервера для использования с приложением PHP, выполните следующую команду:

    az mysql flexible-server db create \
    --resource-group rg-php-demo \
    --server-name <your-mysql-server-name> \
    --database-name sampledb
    

Сборка приложения

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

Чтобы получить дополнительные сведения о коде приложения, изучите его в репозитории GitHub. Чтобы узнать, как подключить приложение PHP к гибкому серверу База данных Azure для MySQL, см. краткое руководство. Подключение с помощью PHP.

В этом учебнике мы клонируем код примера приложения, чтобы научиться развертывать его в Службе приложений Azure.

  1. Чтобы клонировать репозиторий примера приложения и изменить корень репозитория, выполните следующие команды:

    git clone https://github.com/Azure-Samples/php-mysql-app-service.git
    cd php-mysql-app-service
    
  2. Выполните следующую команду, чтобы убедиться, что по умолчанию выбрана ветвь main.

    git branch -m main
    

Создание и настройка веб-приложения Службы приложений Azure

В Службе приложений Azure (Веб-приложения, Приложения API или Мобильные приложения) приложение всегда запускается в плане Службы приложений. План службы приложений определяет набор вычислительных ресурсов, на которых выполняется веб-приложение. На этом шаге мы создадим план Службы приложений Azure с веб-приложением в нем, в котором впоследствии разместим пример приложения.

  1. Чтобы создать план Службы приложений ценовой категории "Бесплатный", выполните следующую команду:

    az appservice plan create --name plan-php-demo \
    --resource-group rg-php-demo \
    --location centralus \
    --sku FREE --is-linux
    
  2. Если вы хотите развернуть приложение в веб-приложении Azure с помощью таких методов развертывания, как FTP или локальный репозиторий Git, необходимо настроить пользователя развертывания с учетными данными в виде имени пользователя и пароля. После настройки пользователя развертывания можно использовать его возможности во всех развертываниях Службы приложений Azure.

    az webapp deployment user set \
    --user-name <your-deployment-username> \
    --password <your-deployment-password>
    
  3. Чтобы создать веб-приложение Службы приложений со средой выполнения PHP 8.0 и настроить развертывание локального репозитория Git для развертывания приложения на локальном компьютере, выполните следующую команду. Замените <your-app-name> на глобальное уникальное имя приложения (допустимые символы: a–z, 0–9, -).

    az webapp create \
    --resource-group rg-php-demo \
    --plan plan-php-demo \
    --name <your-app-name> \
    --runtime "PHP|8.0" \
    --deployment-local-git
    

    Внимание

    В выходных данных Azure CLI URL-адрес удаленного репозитория Git отображается в свойстве deploymentLocalGitUrl в формате https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Сохраните этот URL-адрес, так как он понадобится позже.

  4. Далее мы настроим параметры подключения к гибкой базе данных сервера База данных Azure для MySQL в веб-приложении.

    Файл config.php в примере приложения PHP получает сведения о подключении к базе данных (имя сервера, имя базы данных, имя пользователя сервера и пароль) из переменных среды с помощью функции getenv(). Чтобы задать переменные среды как Параметры приложения (appsettings) в Службе приложений, выполните следующую команду:

    az webapp config appsettings set \
    --name <your-app-name> \
    --resource-group rg-php-demo \
    --settings DB_HOST="<your-server-name>.mysql.database.azure.com" \
    DB_DATABASE="sampledb" \
    DB_USERNAME="<your-mysql-admin-username>" \
    DB_PASSWORD="<your-mysql-admin-password>" \
    MYSQL_SSL="true"
    

    Кроме того, можно использовать службу Подключение or для установления соединения между приложением Служба приложений и гибким экземпляром сервера База данных Azure для MySQL. Дополнительные сведения см. в разделе "Интеграция База данных Azure для MySQL гибкого сервера с службой Подключение or".

Развертывание приложения с помощью локального репозитория Git

Теперь мы развернем пример приложения PHP в Службе приложений Azure с помощью развертывания локального репозитория Git.

  1. Так как вы выполняете развертывание главной ветви, необходимо установить ее как ветвь развертывания по умолчанию для приложения Службы приложений. Чтобы установить DEPLOYMENT_BRANCH в Параметрах приложения, выполните следующую команду:

    az webapp config appsettings set \
    --name <your-app-name> \
    --resource-group rg-php-demo \
    --settings DEPLOYMENT_BRANCH='main'
    
  2. Убедитесь, что находитесь в корневом каталоге репозитория приложения.

  3. Чтобы добавить удаленный репозиторий Azure в локальный репозиторий Git, выполните следующую команду. Замените <deploymentLocalGitUrl> на URL-адрес удаленного репозитория Git, который вы сохранили на шаге Создание веб-приложения Службы приложений.

    git remote add azure <deploymentLocalGitUrl>
    
  4. Чтобы развернуть приложение с помощью команды git push в удаленном репозитории Azure, выполните следующую команду. Когда диспетчер учетных данных Git запросит учетные данные, введите учетные данные развертывания, созданные на шаге Настройка пользователя развертывания.

    git push azure main
    

Выполнение развертывания может занять несколько минут.

Тестирование приложения

Наконец, протестируйте приложение. Для этого перейдите по адресу https://<app-name>.azurewebsites.net, а затем попробуйте добавить, просмотреть, обновить или удалить элементы каталога продукции.

Screenshot showing the sample Product Catalog PHP Web App.

Поздравляем! Вы успешно развернули пример приложения PHP для службы приложение Azure и интегрированы с База данных Azure для MySQL гибким сервером на серверной части.

Обновление и повторное развертывание приложения

Чтобы обновить приложение Azure, внесите необходимые изменения в код, зафиксируйте все изменения в репозитории Git, а затем отправьте изменения кода в Azure.

git add .
git commit -m "Update Azure app"
git push azure main

После выполнения команды git push перейдите в приложение Azure или обновите его и проверьте новые функции.

Очистка ресурсов

В этом учебнике вы создали все ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов, выполнив следующую команду в Cloud Shell:

az group delete --name rg-php-demo

Следующие шаги