Создание веб-приложения PHP в AzureCreate a PHP web app in Azure

Примечание

В этой статье мы развернем приложение в службе приложений на плат��орме Windows.This article deploys an app to App Service on Windows. Чтобы развернуть приложение .NET Core в службе приложений на платформе Linux, см. статью Создание веб-приложения PHP в службе приложений на платформе Linux.To deploy to App Service on Linux, see Create a PHP web app in App Service on Linux.

Служба приложений Azure — это служба веб-размещения с самостоятельной установкой исправлений и высоким уровнем масштабируемости.Azure App Service provides a highly scalable, self-patching web hosting service. Из этого краткого руководства вы узнаете, как развернуть приложение PHP в службе приложений Azure.This quickstart tutorial shows how to deploy a PHP app to Azure App Service. Создайте веб-приложение с помощью Azure CLI в Cloud Shell и разверните пример кода PHP в веб-приложении с помощью Git.You create the web app using the Azure CLI in Cloud Shell, and you use Git to deploy sample PHP code to the web app.

Пример приложения, выполняющегося в Azure

Выполните приведенные здесь инструкции с помощью компьютера Mac, Windows или Linux.You can follow the steps here using a Mac, Windows, or Linux machine. После установки необходимых компонентов для выполнения этих шагов потребуется около пяти минут.Once the prerequisites are installed, it takes about five minutes to complete the steps.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начать работу.If you don't have an Azure subscription, create a free account before you begin.

Предварительные требованияPrerequisites

Для работы с этим кратким руководством сделайте следующее:To complete this quickstart:

Скачать пример на локальный компьютерDownload the sample locally

Выполните следующие команды в окне терминала.In a terminal window, run the following commands. Так вы клонируете пример приложения на локальный компьютер и перейдете в каталог, содержащий пример кода.This will clone the sample application to your local machine, and navigate to the directory containing the sample code.

git clone https://github.com/Azure-Samples/php-docs-hello-world
cd php-docs-hello-world

Локальный запуск приложенияRun the app locally

Запустите приложение локально, чтобы увидеть, как оно будет выглядеть после развертывания в Azure.Run the application locally so that you see how it should look when you deploy it to Azure. Откройте окно терминала и выполните команду php, чтобы запустить встроенный веб-сервер PHP.Open a terminal window and use the php command to launch the built-in PHP web server.

php -S localhost:8080

Откройте веб-браузер и перейдите к примеру приложения по адресу http://localhost:8080.Open a web browser, and navigate to the sample app at http://localhost:8080.

На странице отобразится сообщение Hello World!You see the Hello World! из примера приложения.message from the sample app displayed in the page.

Пример приложения, выполняющегося локально

В окне терминала нажмите клавиши CTRL+C, чтобы выйти из веб-сервера.In your terminal window, press Ctrl+C to exit the web server.

Использование Azure Cloud ShellUse Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Для работы со службами Azure в Cloud Shell можно использовать bash и PowerShell.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Чтобы запустить Azure Cloud Shell, сделайте вот что:To launch Azure Cloud Shell:

ПараметрOption Пример и ссылкаExample/Link
Нажмите кнопку Попробовать в правом верхнем углу блока с кодом.Select Try It in the upper-right corner of a code block. При нажатии кнопки Попробовать код не копируется в Cloud Shell автоматически.Selecting Try It doesn't automatically copy the code to Cloud Shell. Открытие Azure Cloud Shell с помощью кнопки "Попробовать"
Перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell, чтобы открыть Cloud Shell в браузере.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Запуск Cloud Shell в новом окнеLaunch Cloud Shell in a new window
На портале Azure в правом верхнем углу в строке меню нажмите кнопку Cloud Shell.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Кнопка "Cloud Shell" на портале Azure

Чтобы выполнить код из этой статьи в Azure Cloud Shell, сделайте вот что:To run the code in this article in Azure Cloud Shell:

  1. Откройте Cloud Shell.Open Cloud Shell.
  2. В блоке кода нажмите кнопку Копировать, чтобы скопировать код.Select the Copy button on a code block to copy the code.
  3. Вставьте код в окно сеанса Cloud Shell, нажав клавиши Ctrl+Shift+V в Windows и Linux или Cmd+Shift+V в macOS.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.
  4. Нажмите клавишу ВВОД, чтобы выполнить код.Press Enter to run the code.

Настойка пользователя развертыванияConfigure a deployment user

Для развертывания в веб-приложение Azure из FTP и локального репозитория Git можно использовать пользователя развертывания.FTP and local Git can deploy to an Azure web app by using a deployment user. Настроив один раз пользователя развертывания, вы сможете использовать его для всех последующих развертываний в Azure.Once you configure your deployment user, you can use it for all your Azure deployments. Имя пользователя и пароль учетной записи развертывания отличаются от учетных данных подписки Azure.Your account-level deployment username and password are different from your Azure subscription credentials.

Чтобы настроить пользователя развертывания, выполните в Azure Cloud Shell команду az webapp deployment user set.To configure the deployment user, run the az webapp deployment user set command in Azure Cloud Shell. Вместо <username> и <password> укажите имя пользователя и пароль развертывания.Replace <username> and <password> with a deployment user username and password.

  • Имя пользователя должно быть уникальным в Azure. Кроме того, чтобы отправка в локальный репозиторий Git работала, имя пользователя не должно содержать символ @.The username must be unique within Azure, and for local Git pushes, must not contain the ‘@’ symbol.
  • Пароль должен содержать не менее восьми символов и включать два из трех следующих элементов: буквы, цифры и символы.The password must be at least eight characters long, with two of the following three elements: letters, numbers, and symbols.
az webapp deployment user set --user-name <username> --password <password>

В выходных данных JSON пароль отображается как null.The JSON output shows the password as null. Если появляется сообщение об ошибке 'Conflict'. Details: 409, измените имя пользователя.If you get a 'Conflict'. Details: 409 error, change the username. Если появляется сообщение об ошибке 'Bad Request'. Details: 400, используйте более надежный пароль.If you get a 'Bad Request'. Details: 400 error, use a stronger password.

Запишите имя пользователя и пароль и используйте их для развертывания веб-приложений.Record your username and password to use to deploy your web apps.

Создание группы ресурсовCreate a resource group

Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure (веб-приложений, баз данных и учетных записей хранения) и управление ими.A resource group is a logical container into which Azure resources like web apps, databases, and storage accounts are deployed and managed. Например, в дальнейшем можно удалить всю группу ресурсов при помощи одного простого действия.For example, you can choose to delete the entire resource group in one simple step later.

В Cloud Shell создайте группу ресурсов с помощью команды az group create.In the Cloud Shell, create a resource group with the az group create command. В следующем примере создается группа ресурсов с именем myResourceGroup в расположении Западная Европа.The following example creates a resource group named myResourceGroup in the West Europe location. Чтобы просмотреть все поддерживаемые расположения для службы приложений уровня Бесплатный, выполните команду az appservice list-locations --sku FREE.To see all supported locations for App Service in Free tier, run the az appservice list-locations --sku FREE command.

az group create --name myResourceGroup --location "West Europe"

Обычно группа ресурсов и ресурсы создаются в ближайших регионах.You generally create your resource group and the resources in a region near you.

По завершении команды в выходных данных JSON будут отображаться свойства группы ресурсов.When the command finishes, a JSON output shows you the resource group properties.

Создание плана службы приложений AzureCreate an Azure App Service plan

В Cloud Shell создайте план службы приложений с помощью команды az appservice plan create.In the Cloud Shell, create an App Service plan with the az appservice plan create command.

В следующем примере создается план службы приложений с именем myAppServicePlan и ценовой категорией Бесплатный.The following example creates an App Service plan named myAppServicePlan in the Free pricing tier:

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE

После создания плана службы приложений в Azure CLI отображается информация следующего вида:When the App Service plan has been created, the Azure CLI shows information similar to the following example:

{ 
  "adminSiteName": null,
  "appServicePlanName": "myAppServicePlan",
  "geoRegion": "West Europe",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "app",
  "location": "West Europe",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  < JSON data removed for brevity. >
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
} 

Создание веб-приложенияCreate a web app

В Cloud Shell создайте веб-приложение в рамках плана службы приложений myAppServicePlan с помощью команды az webapp create.In the Cloud Shell, create a web app in the myAppServicePlan App Service plan with the az webapp create command.

В следующем примере замените <app_name>глобальным уникальным именем приложения (допустимые символы: a-z, 0-9 и -).In the following example, replace <app_name> with a globally unique app name (valid characters are a-z, 0-9, and -). Для среды выполнения установлено значение PHP|7.0.The runtime is set to PHP|7.0. Список всех поддерживаемых сред выполнения можно получить с помощью команды az webapp list-runtimes.To see all supported runtimes, run az webapp list-runtimes.

# Bash
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --runtime "PHP|7.0" --deployment-local-git
# PowerShell
az --% webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --runtime "PHP|7.0" --deployment-local-git

Когда веб-приложение будет создано, в Azure CLI отобразится примерно следующее:When the web app has been created, the Azure CLI shows output similar to the following example:

Local git is configured with url of 'https://<username>@<app_name>.scm.azurewebsites.net/<app_name>.git'
{
  "availabilityState": "Normal",
  "clientAffinityEnabled": true,
  "clientCertEnabled": false,
  "cloningInfo": null,
  "containerSize": 0,
  "dailyMemoryTimeQuota": 0,
  "defaultHostName": "<app_name>.azurewebsites.net",
  "enabled": true,
  < JSON data removed for brevity. >
}

Вы создали пустое веб-приложение с включенным развертыванием Git.You’ve created an empty new web app, with git deployment enabled.

Примечание

URL-адрес удаленного репозитория Git отображается в свойстве deploymentLocalGitUrl в формате https://<username>@<app_name>.scm.azurewebsites.net/<app_name>.git.The URL of the Git remote is shown in the deploymentLocalGitUrl property, with the format https://<username>@<app_name>.scm.azurewebsites.net/<app_name>.git. Сохраните этот URL-адрес для дальнейшего использования.Save this URL as you need it later.

Перейдите к только что созданному веб-приложению.Browse to your newly created web app. Замените <app name> уникальным именем приложения, созданным на предыдущем этапе.Replace <app name> with your unique app name created in the prior step.

http://<app name>.azurewebsites.net

Новое веб-приложение должно выглядеть так:Here is what your new web app should look like:

Пустая страница веб-приложения

Публикация в Azure из GitPush to Azure from Git

Вернитесь к окну терминала (в локальном расположении) и добавьте удаленное приложение Azure в локальный репозиторий Git.Back in the local terminal window, add an Azure remote to your local Git repository. Замените <deploymentLocalGitUrl-from-create-step> URL-адресом удаленного репозитория Git, который вы сохранили при создании веб-приложения.Replace <deploymentLocalGitUrl-from-create-step> with the URL of the Git remote that you saved from Create a web app.

git remote add azure <deploymentLocalGitUrl-from-create-step>

Отправьте код в удаленное приложение Azure, чтобы развернуть приложение.Push to the Azure remote to deploy your app with the following command. При появлении запроса на ввод учетных данных в диспетчере учетных данных Git введите учетные данные, созданные на шаге настройки пользователя развертывания (а не те, которые используются для входа на портал Azure).When prompted for credentials by Git Credential Manager, make sure that you enter the credentials you created in Configure a deployment user, not the credentials you use to sign in to the Azure portal.

git push azure master

Выполнение этой команды может занять несколько минут.This command may take a few minutes to run. При выполнении эта команда выводит приблизительно следующие сведения:While running, it displays information similar to the following example:

Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 352 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Updating branch 'master'.
remote: Updating submodules.
remote: Preparing deployment for commit id '25f18051e9'.
remote: Generating deployment script.
remote: Running deployment command...
remote: Handling Basic Web Site deployment.
remote: Kudu sync from: '/home/site/repository' to: '/home/site/wwwroot'
remote: Copying file: '.gitignore'
remote: Copying file: 'LICENSE'
remote: Copying file: 'README.md'
remote: Copying file: 'index.php'
remote: Ignoring: .git
remote: Finished successfully.
remote: Running post deployment command(s)...
remote: Deployment successful.
To https://<app_name>.scm.azurewebsites.net/<app_name>.git
   cc39b1e..25f1805  master -> master

Переход в приложениеBrowse to the app

Перейдите в развертываемое приложение с помощью веб-браузера.Browse to the deployed application using your web browser.

http://<app_name>.azurewebsites.net

Пример кода PHP выполняется в веб-приложении службы приложений Azure.The PHP sample code is running in an Azure App Service web app.

Пример приложения, выполняющегося в Azure

Поздравляем!Congratulations! Вы развернули свое первое приложение PHP в службе приложений.You've deployed your first PHP app to App Service.

Обновление на локальном компьютере и повторное развертывание кодаUpdate locally and redeploy the code

В локальном текстовом редакторе в приложении PHP откройте файл index.php и внесите небольшое изменение в текстовой строке рядом с echo:Using a local text editor, open the index.php file within the PHP app, and make a small change to the text within the string next to echo:

echo "Hello Azure!";

В окне терминала на локальном компьютере зафиксируйте изменения в Git, а затем отправьте изменение кода в Azure.In the local terminal window, commit your changes in Git, and then push the code changes to Azure.

git commit -am "updated output"
git push azure master

После развертывания вернитесь к окну браузера, открытому на шаге перехода в приложение, и обновите страницу.Once deployment has completed, return to the browser window that opened during the Browse to the app step, and refresh the page.

Обновленный пример приложения, выполняющегося в Azure

Управление новым приложением AzureManage your new Azure app

Перейдите на портал Azure для управления созданным веб-приложением.Go to the Azure portal to manage the web app you created.

В меню слева щелкните Службы приложений, а затем — имя своего приложения Azure.From the left menu, click App Services, and then click the name of your Azure app.

Переход к приложению Azure на портале

Отобразится страница обзора вашего веб-приложения.Your web app's Overview page will be displayed. Вы можете выполнять базовые задачи управления: обзор, завершение, запуск, перезагрузку и удаление.Here, you can perform basic management tasks like browse, stop, start, restart, and delete.

Страница службы приложений на портале Azure

В меню слева доступно несколько возможностей настройки приложения.The left menu provides different options for configuring your app.

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

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов.In the preceding steps, you created Azure resources in a resource group. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов, выполнив следующую команду в Cloud Shell:If you don't expect to need these resources in the future, delete the resource group by running the following command in the Cloud Shell:

az group delete --name myResourceGroup

Ее выполнение может занять до минуты.This command may take a minute to run.

Дополнительная информацияNext steps