Краткое руководство. Развертывание веб-приложения ASP.NET
Из этого краткого руководства вы узнаете, как создать и развернуть первое веб-приложение ASP.NET в Служба приложений Azure. Служба приложений поддерживает разные версии приложений .NET и предоставляет службу веб-размещения с высоким уровнем масштабирования и автоматической установкой исправлений. Веб-приложения ASP.NET являются кросс-платформенными, т. е. могут размещаться в Linux или Windows. По завершении вы получите группу ресурсов Azure, состоящую из плана размещения Служба приложений и Служба приложений с развернутым веб-приложением.
Кроме того, можно развернуть веб-приложение ASP.NET в составе контейнера Windows или Linux в Служба приложений.
Предварительные требования
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
- Visual Studio 2022 с рабочей нагрузкой ASP.NET и веб-разработка.
Если вы уже установили Visual Studio 2022:
- Установите последние обновления для Visual Studio, выбрав Справка>Проверить обновления.
- Добавьте рабочую нагрузку, выбрав Инструменты>Получить средства и компоненты.
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
- Visual Studio Code.
- Расширение Azure Tools.
- Последняя версия пакета SDK для .NET 7.0.
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
- Интерфейс командной строки Azure.
- Последняя версия пакета SDK для .NET 7.0.
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
- Azure PowerShell.
- Последняя версия пакета SDK для .NET 7.0.
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
- Учетная запись GitHub Создайте учетную запись бесплатно.
1. Создание веб-приложения ASP.NET
Откройте Visual Studio и выберите Создать проект.
В разделе Создать новый проект найдите и выберите ASP.NET Core Web App, после чего нажмите Далее.
В разделе Настройка нового проекта присвойте приложению имя MyFirstAzureWebApp и щелкните Далее.
Выберите .NET 7.0 (поддержка стандартных терминов).
Для параметра Тип проверки подлинности укажите значение Нет. Нажмите кнопку создания.
В меню Visual Studio выберите Отладка>Запустить без отладки, чтобы запустить приложение локально. Если появится сообщение с просьбой доверять самозаверяющий сертификат, выберите Да.
Откройте окно терминала на компьютере и перейдите в рабочую папку. Создайте новое веб-приложение .NET с помощью команды
dotnet new webapp
, а затем измените каталоги для только что созданного приложения.dotnet new webapp -n MyFirstAzureWebApp --framework net7.0 cd MyFirstAzureWebApp
В том же сеансе терминала запустите приложение локально с помощью команды
dotnet run
.dotnet run --urls=https://localhost:5001/
Откройте веб-браузер и перейдите к приложению в
https://localhost:5001
.На странице отображается шаблон ASP.NET Core веб-приложение 7.0.
На этом шаге вы создаете вилку демонстрационного проекта для развертывания.
- Перейдите к примеру приложения .NET 7.0.
- Нажмите кнопку Вилка в правом верхнем углу на странице GitHub.
- Нажмите Владелец и оставьте Имя репозитория по умолчанию.
- Щелкните Создать вилку.
2. Публикация веб-приложения
Прежде чем опубликовать веб-приложение, следует создать и настроить новую Службу приложений, в которой вы сможете опубликовать это приложение.
При настройке Служба приложений вы создаете:
- Новая группа ресурсов для всех ресурсов Azure, которые потребуются для этой службы.
- Новый план размещения, который позволяет определить расположение, размер и функции фермы веб-серверов для размещения приложения.
Выполните следующие действия, чтобы создать Службу приложений и опубликовать свой проект:
Щелкните правой кнопкой мыши проект MyFirstAzureWebApp в Обозревателе решений и выберите Опубликовать.
В разделе Публикация выберите Azure и нажмите кнопку Далее.
Выберите Указанный целевой объект: Служба приложений Azure (Linux) или Служба приложений Azure (Windows) . Затем нажмите кнопку Далее.
Важно!
Если предполагается использовать ASP.NET Framework 4.8 вы используйте Службу приложений Azure (Windows) .
Доступные параметры зависят от того, вошли ли вы в Azure и есть ли у вас учетная запись Visual Studio, связанная с учетной записью Azure. Выберите Добавить учетную запись или Войти, чтобы войти в подписку Azure. Если вы уже вошли, выберите нужную учетную запись.
Справа от списка Экземпляры Службы приложений выберите + .
Для параметра Подписка подтвердите предложенный вариант или выберите другой из раскрывающегося списка.
В разделе Группа ресурсов выберите Создать. В разделе Новое имя группы ресурсов введите myResourceGroup и щелкните ОК.
В разделе План размещения щелкните Создать.
В диалоговом окне План размещения. Создать новый введите значения, указанные в следующей таблице.
Параметр Рекомендуемое значение Описание План размещения MyFirstAzureWebAppPlan Имя плана службы приложений. Расположение Западная Европа Центр обработки данных, где размещается веб-приложение. Размер Бесплатный Ценовая категория определяет возможности размещения. В поле Имя введите уникальное имя приложения, включающее только допустимые символы:
a-z
,A-Z
,0-9
и-
. Вы можете использовать автоматически созданное уникальное имя. URL-адрес веб-приложения:http://<app-name>.azurewebsites.net
, где<app-name>
— имя приложения.Выберите Создать, чтобы создать ресурсы Azure.
После завершения работы мастера ресурсы Azure будут созданы для вас, и вы будете готовы к публикации проекта ASP.NET Core.
В диалоговом окне Публикация убедитесь, что выбрано новое приложение Служба приложений, а затем нажмите кнопку Готово и закрыть. Visual Studio создаст профиль публикации для выбранного приложения Службы приложений.
На странице Публикация выберите Опубликовать. Если появилось сообщение с предупреждением нажмите кнопку Продолжить.
Visual Studio создает, упаковывает и публикует приложение в Azure, а затем запускает его в браузере по умолчанию.
На странице отображается веб-приложение ASP.NET Core 7.0.
В Visual Studio Code откройте палитру команд, выбрав Просмотреть>палитру команд.
Найдите и выберите "Служба приложений Azure: Создать веб-приложение (дополнительно)".
Ответьте на запросы следующим образом:
- Если отобразится запрос на вход в учетную запись Azure, выполните его.
- Выберите Подписка.
- Щелкните Создать веб-приложение... Дополнительно.
- В поле Введите глобально уникальное имя введите имя, которое еще не используется в Azure (допускаются символы
a-z
,0-9
и-
). Рекомендуется использовать сочетание названия компании и идентификатора приложения. - Выберите Создать группу ресурсов и укажите имя, например
myResourceGroup
. - При появлении запроса Выбрать стек среды выполнения выберите .NET 7 (STS).
- Выберите операционную систему (Windows или Linux):
- Выберите ближайшее расположение.
- Выберите Создать новый план службы приложений, укажите имя и выберите ценовую категориюБесплатный F1.
- Выберите Пропустить для ресурса Application Insights.
- При появлении запроса нажмите кнопку Развернуть.
- Выберите для развертывания папку MyFirstAzureWebApp.
- При появлении запроса выберите Добавить конфигурацию.
Во всплывающем окне всегда развертывайте рабочую область "MyFirstAzureWebApp" в <app-name>, нажмите Да, чтобы Visual Studio Code развертывался в одном приложении службы приложений каждый раз, когда вы находитесь в этой рабочей области.
Когда публикация завершится, щелкните Обзор веб-сайта в открывшемся уведомлении и нажмите кнопку Открыть при появлении запроса.
На странице отображается веб-приложение ASP.NET Core 7.0.
Войдите в учетную запись Azure с помощью команды
az login
и выполните следующий запрос:az login
Разверните код в локальном каталоге MyFirstAzureWebApp с помощью команды
az webapp up
:az webapp up --sku F1 --name <app-name> --os-type <os>
- Если команда
az
не распознается, проверьте, установили ли вы Azure CLI, как описано в разделе Предварительные требования. - Замените
<app-name>
именем, уникальным для всех регионов Azure (допустимыми символами являютсяa-z
,0-9
и-
). Рекомендуется использовать сочетание названия компании и идентификатора приложения. - Аргумент
--sku F1
создает веб-приложение с ценовой категориейБесплатный. Этот аргумент можно опустить, чтобы использовать более быструю ценовую категорию "Премиум" с почасовой оплатой. - Измените
<os>
наlinux
илиwindows
. - При необходимости вы можете использовать аргумент
--location <location-name>
, где<location-name>
является доступным регионом Azure. Список допустимых регионов для учетной записи Azure можно получить, выполнив командуaz account list-locations
.
Выполнение команды может занять несколько минут. Во время выполнения команда предоставляет сообщения о создании группы ресурсов, плана Служба приложений и размещении приложения, настройке ведения журнала, а затем о выполнении развертывания ZIP. Затем отображается сообщение с URL-адресом приложения:
You can launch the app at http://<app-name>.azurewebsites.net
- Если команда
Откройте браузер и перейдите по этому URL-адресу:
На странице отображается веб-приложение ASP.NET Core 7.0.
Примечание
Azure PowerShell — рекомендуемое средство для создания приложений на платформе размещение Windows. Для создания приложений в Linux используйте другое средство, например Azure CLI
Войдите в учетную запись Azure с помощью команды
Connect-AzAccount
и выполните следующий запрос:Connect-AzAccount
Создайте приложение с помощью команды New-AzWebApp:
New-AzWebApp -Name <app-name> -Location westeurope
- Замените
<app-name>
именем, уникальным для всех регионов Azure (допустимыми символами являютсяa-z
,0-9
и-
). Рекомендуется использовать сочетание названия компании и идентификатора приложения. - При необходимости вы можете использовать параметр
-Location <location-name>
, где<location-name>
является доступным регионом Azure. Список допустимых регионов для учетной записи Azure можно получить, выполнив командуGet-AzLocation
.
Выполнение команды может занять несколько минут. Во время выполнения команда создает группу ресурсов, план Служба приложений и ресурс Служба приложений.
- Замените
В корневой папке приложения подготовьте свое локальное приложение MyFirstAzureWebApp к развертыванию, выполнив команду
dotnet publish
:dotnet publish --configuration Release
Перейдите в каталог версии и создайте ZIP-файл из содержимого:
cd bin\Release\net7.0\publish Compress-Archive -Path * -DestinationPath deploy.zip
Опубликуйте ZIP-файл в приложении Azure с помощью команды Publish-AzWebApp:
Publish-AzWebApp -ResourceGroupName myResourceGroup -Name <app-name> -ArchivePath (Get-Item .\deploy.zip).FullName -Force
Примечание
-ArchivePath
нужно предоставить полный путь к ZIP-файлу.Откройте браузер и перейдите по этому URL-адресу:
На странице отображается веб-приложение ASP.NET Core 7.0.
В поле поиска введите службы приложений. В разделе Службы выберите Службы приложений.
На странице Службы приложений выберите Создать.
На вкладке Основные сведения задайте следующие параметры:
- Для параметра Группа ресурсов выберите Создать. Введите myResourceGroup в качестве имени.
- В разделе Имя введите глобально уникальное имя веб-приложения.
- В разделе Опубликовать выберите Код.
- В разделе Стек среды выполнения выберите .NET 7 (STS).
- Выберите операционную систему в разделе Операционная система, а также Регион, из которого вы хотите обслуживать приложение.
- В разделе план Служба приложений выберите Создать и введите имя myAppServicePlan.
- В разделе Тарифный план выберите Бесплатный F1.
Нажмите кнопку Далее: развертывание > в нижней части страницы.
На вкладке Развертывание в разделе Параметры GitHub Actions проверьте, включено ли непрерывное развертывание.
В разделе Сведения о GitHub Actions проверьте подлинность с помощью своей учетной записи GitHub и выберите следующие параметры:
- Для параметра Организация выберите организацию, в которой вы создали вилку для демонстрационного проекта.
- Для параметра Репозиторий выберите проект dotnetcore-docs-hello-world .
- Для параметра Ветвь выберите значение Главная.
В нижней части страницы нажмите кнопку Просмотр и создание.
После выполнения проверки нажмите кнопку Создать в нижней части страницы.
По завершении развертывания нажмите кнопку Перейти к ресурсу.
Найдите развернутое приложение в веб-браузере по URL-адресу
http://<app-name>.azurewebsites.net
.
3. Обновление приложения и повторное развертывание
Чтобы обновить и повторно развернуть веб-приложение, сделайте следующее:
В Обозревателе решений откройте файл Index.cshtml вашего проекта.
Замените первый элемент
<div>
следующим кодом:<div class="jumbotron"> <h1>.NET 💜 Azure</h1> <p class="lead">Example .NET app to Azure App Service.</p> </div>
Сохраните изменения.
Чтобы выполнить повторное развертывание в Azure, щелкните правой кнопкой мыши проект MyFirstAzureWebApp в Обозревателе решений, а затем выберите Опубликовать.
На странице Публикация со сводными сведениями щелкните Опубликовать.
По завершении публикации Visual Studio открывает в браузере страницу с URL-адресом веб-приложения.
На странице отображается обновленное веб-приложение ASP.NET Core 7.0.
Откройте Index.cshtml.
Замените первый элемент
<div>
следующим кодом:<div class="jumbotron"> <h1>.NET 💜 Azure</h1> <p class="lead">Example .NET app to Azure App Service.</p> </div>
Сохраните изменения.
В Visual Studio Code откройте раздел Палитра команд и нажмите клавиши CTRL+SHIFT+P.
Найдите и выберите "Служба приложений Azure: развернуть в веб-приложении".
Щелкните Развернуть при появлении запроса.
Когда публикация завершится, щелкните Обзор веб-сайта в открывшемся уведомлении и нажмите кнопку Открыть при появлении запроса.
На странице отображается обновленное веб-приложение ASP.NET Core 7.0.
В локальном каталоге выберите файл Index.cshtml. Замените первый элемент <div>
следующим кодом:
<div class="jumbotron">
<h1>.NET 💜 Azure</h1>
<p class="lead">Example .NET app to Azure App Service.</p>
</div>
Сохраните изменения, а затем повторно разверните приложение с помощью команды az webapp up
.
ASP.NET Core 7.0 является кроссплатформенным, в зависимости от предыдущего развертывания замените <os>
на linux
или windows
.
az webapp up --os-type <os>
Эта команда использует значения, которые кэшируются локально в файле .azure/config, включая имя приложения, группу ресурсов и план службы приложений.
После завершения развертывания переключитесь в окно браузера, открытое на этапе перехода в приложение, и щелкните "Обновить".
На странице отображается обновленное веб-приложение ASP.NET Core 7.0.
В локальном каталоге выберите файл Index.cshtml. Замените первый элемент
<div>
следующим кодом:<div class="jumbotron"> <h1>.NET 💜 Azure</h1> <p class="lead">Example .NET app to Azure App Service.</p> </div>
В корневой папке приложения подготовьте свое локальное приложение MyFirstAzureWebApp к развертыванию, выполнив команду
dotnet publish
:dotnet publish --configuration Release
Перейдите в каталог версии и создайте ZIP-файл из содержимого:
cd bin\Release\net7.0\publish Compress-Archive -Path * -DestinationPath deploy.zip
Опубликуйте ZIP-файл в приложении Azure с помощью команды Publish-AzWebApp:
Publish-AzWebApp -ResourceGroupName myResourceGroup -Name <app-name> -ArchivePath (Get-Item .\deploy.zip).FullName -Force
Примечание
-ArchivePath
нужно предоставить полный путь к ZIP-файлу.После завершения развертывания переключитесь в окно браузера, открытое на этапе перехода в приложение, и щелкните "Обновить".
На странице отображается обновленное веб-приложение ASP.NET Core 7.0.
Перейдите к вилке GitHub примера кода.
На странице репозитория нажмите
.
, чтобы запустить код Visual Studio в браузере.Примечание
URL-адрес изменится с GitHub.com на GitHub.dev. Эта функция работает только с репозиториями, содержащими файлы, но не с пустыми репозиториями.
Откройте Index.cshtml.
Index.cshtml находится в папке
Pages
.Замените первый элемент
<div>
следующим кодом:<div class="jumbotron"> <h1>.NET 💜 Azure</h1> <p class="lead">Example .NET app to Azure App Service.</p> </div>
Сохраните изменения.
В меню Система управления версиями нажмите кнопку Индексировать изменения.
Введите сообщение о фиксации, например
We love Azure
. Затем щелкните Зафиксировать и отправить.После развертывания вернитесь к окну браузера, открытому на шаге перехода в приложение, и обновите страницу.
На странице отображается обновленное веб-приложение ASP.NET Core 7.0.
4. Управление приложением Azure
Чтобы управлять веб-приложением, перейдите на портал Azure, найдите и выберите Службы приложений.
На странице Службы приложений выберите имя веб-приложения.
На странице Обзор для веб-приложения вы можете выполнять базовые задачи управления: просмотр, завершение, запуск, перезагрузку и удаление. В меню слева есть дополнительные страницы для настройки приложения.
Очистка ресурсов
На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если вы считаете, что в будущем эти ресурсы вам не понадобятся, их можно удалить, удалив группу ресурсов.
- На странице Обзор веб-приложения на портале Azure щелкните ссылку myResourceGroup в разделе Группы ресурсов.
- На странице группы ресурсов проверьте, действительно ли требуется удалить перечисленные ресурсы.
- Выберите Удалить, введите myResourceGroup в текстовое поле, после чего щелкните Удалить.
Очистка ресурсов
На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если вы считаете, что в будущем эти ресурсы вам не понадобятся, их можно удалить, удалив группу ресурсов.
- На странице Обзор веб-приложения на портале Azure щелкните ссылку myResourceGroup в разделе Группы ресурсов.
- На странице группы ресурсов проверьте, действительно ли требуется удалить перечисленные ресурсы.
- Выберите Удалить, введите myResourceGroup в текстовое поле, после чего щелкните Удалить.
Очистка ресурсов
На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов, выполнив следующую команду в Cloud Shell:
az group delete --name myResourceGroup
Ее выполнение может занять до минуты.
Очистка ресурсов
На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, удалите группу ресурсов, выполнив следующую команду PowerShell:
Remove-AzResourceGroup -Name myResourceGroup
Ее выполнение может занять до минуты.
Очистка ресурсов
На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если вы считаете, что в будущем эти ресурсы вам не понадобятся, их можно удалить, удалив группу ресурсов.
- На странице Обзор веб-приложения на портале Azure щелкните ссылку myResourceGroup в разделе Группы ресурсов.
- На странице группы ресурсов проверьте, действительно ли требуется удалить перечисленные ресурсы.
- Выберите Удалить, введите myResourceGroup в текстовое поле, после чего щелкните Удалить.
Следующие шаги
Переходите к следующей статье, чтобы узнать, как создать приложение .NET Core и подключить его к Базе данных SQL.