Руководство по развертыванию PHP и База данных Azure для MySQL — гибкое приложение сервера в службе приложение Azure
Служба приложений Azure — это высокомасштабируемая служба размещения с самостоятельной установкой исправлений на основе операционной системы Linux.
В этом руководстве показано, как создать и развернуть пример приложения PHP в службе приложение Azure и интегрировать его с База данных Azure для MySQL гибким сервером на сервере. Здесь вы будете использовать подключение к общедоступному доступу (разрешенные IP-адреса) в экземпляре гибкого сервера База данных Azure для MySQL для подключения к приложению Служба приложений.
Из этого руководства вы узнаете, как выполнять следующие задачи:
- Создание гибкого экземпляра сервера База данных Azure для MySQL
- Подключение приложения PHP к База данных Azure для MySQL гибкому экземпляру сервера
- Развертывание приложения в Службе приложений Azure.
- Обновление и повторное развертывание приложения
Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу. В настоящее время с бесплатной учетной записью Azure можно попробовать База данных Azure для MySQL — гибкий сервер бесплатно в течение 12 месяцев. Дополнительные сведения см. в статье "Использование бесплатной учетной записи Azure", чтобы бесплатно попробовать База данных Azure для MySQL — гибкий сервер.
Необходимые компоненты
- Установите Git.
- Интерфейс командной строки Azure (CLI).
- Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу. В настоящее время с бесплатной учетной записью Azure можно попробовать База данных Azure для MySQL — гибкий сервер бесплатно в течение 12 месяцев. Дополнительные сведения см. в статье "Использование бесплатной учетной записи Azure", чтобы бесплатно попробовать База данных Azure для MySQL — гибкий сервер.
Создание Гибкого сервера Базы данных Azure для MySQL
Сначала подготовьте гибкий экземпляр сервера База данных Azure для MySQL с подключением к общедоступному доступу, настройте правила брандмауэра, чтобы приложение получите доступ к серверу и создайте рабочую базу данных.
Сведения об использовании подключения к частному доступу вместо этого и изоляции ресурсов приложений и баз данных в виртуальной сети см. в статье "Подключение веб-приложения Служба приложений s к База данных Azure для MySQL — гибкий сервер в виртуальной сети".
Создание или изменение группы ресурсов
Группа ресурсов Azure — это логическая группа, в которой развертываются и управляются ресурсы Azure. Давайте создадим группу ресурсов rg-php-demo с помощью команды az group create в расположении centralus.
Откройте командную строку.
Войдите в свою учетную запись Azure.
az login
Выберите подписку Azure.
az account set -s <your-subscription-ID>
Создайте группу ресурсов.
az group create --name rg-php-demo --location centralus
Создание экземпляра гибкого сервера База данных Azure для MySQL
Чтобы создать экземпляр гибкого сервера База данных 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-дневный период хранения резервных копий и настроенное общедоступное подключение.
Затем, чтобы создать правило брандмауэра для экземпляра гибкого сервера База данных 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
Чтобы создать новый пример базы данных гибкого сервера База данных 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 для MySQL — гибкий сервер.
В этом учебнике мы клонируем код примера приложения, чтобы научиться развертывать его в Службе приложений Azure.
Чтобы клонировать репозиторий примера приложения и изменить корень репозитория, выполните следующие команды:
git clone https://github.com/Azure-Samples/php-mysql-app-service.git cd php-mysql-app-service
Выполните следующую команду, чтобы убедиться, что по умолчанию выбрана ветвь
main
.git branch -m main
Создание и настройка веб-приложения Службы приложений Azure
В Службе приложений Azure (Веб-приложения, Приложения API или Мобильные приложения) приложение всегда запускается в плане Службы приложений. План службы приложений определяет набор вычислительных ресурсов, на которых выполняется веб-приложение. На этом шаге мы создадим план Службы приложений Azure с веб-приложением в нем, в котором впоследствии разместим пример приложения.
Чтобы создать план Службы приложений ценовой категории "Бесплатный", выполните следующую команду:
az appservice plan create --name plan-php-demo \ --resource-group rg-php-demo \ --location centralus \ --sku FREE --is-linux
Если вы хотите развернуть приложение в веб-приложении Azure с помощью таких методов развертывания, как FTP или локальный репозиторий Git, необходимо настроить пользователя развертывания с учетными данными в виде имени пользователя и пароля. После настройки пользователя развертывания можно использовать его возможности во всех развертываниях Службы приложений Azure.
az webapp deployment user set \ --user-name <your-deployment-username> \ --password <your-deployment-password>
Чтобы создать веб-приложение Службы приложений со средой выполнения 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-адрес, так как он понадобится позже.Далее мы настроим параметры подключения к базе данных гибкого сервера База данных 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"
Кроме того, можно использовать соединитель службы для установления соединения между приложением Служба приложений и гибким экземпляром сервера База данных Azure для MySQL. Дополнительные сведения см. в разделе "Интеграция База данных Azure для MySQL гибкого сервера с соединителем службы".
Развертывание приложения с помощью локального репозитория Git
Теперь мы развернем пример приложения PHP в Службе приложений Azure с помощью развертывания локального репозитория Git.
Так как вы выполняете развертывание главной ветви, необходимо установить ее как ветвь развертывания по умолчанию для приложения Службы приложений. Чтобы установить DEPLOYMENT_BRANCH в Параметрах приложения, выполните следующую команду:
az webapp config appsettings set \ --name <your-app-name> \ --resource-group rg-php-demo \ --settings DEPLOYMENT_BRANCH='main'
Убедитесь, что находитесь в корневом каталоге репозитория приложения.
Чтобы добавить удаленный репозиторий Azure в локальный репозиторий Git, выполните следующую команду. Замените
<deploymentLocalGitUrl>
на URL-адрес удаленного репозитория Git, который вы сохранили на шаге Создание веб-приложения Службы приложений.git remote add azure <deploymentLocalGitUrl>
Чтобы развернуть приложение с помощью команды
git push
в удаленном репозитории Azure, выполните следующую команду. Когда диспетчер учетных данных Git запросит учетные данные, введите учетные данные развертывания, созданные на шаге Настройка пользователя развертывания.git push azure main
Развертывание может занять несколько минут.
Тестирование приложения
Наконец, протестируйте приложение. Для этого перейдите по адресу https://<app-name>.azurewebsites.net
, а затем попробуйте добавить, просмотреть, обновить или удалить элементы каталога продукции.
Поздравляем! Вы успешно развернули пример приложения 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