Развертывание веб-приложения C# ASP.NET на виртуальной машине в Azure Stack Hub

Вы можете создать виртуальную машину для размещения веб-приложения C# ASP.NET в Azure Stack Hub. В этой статье показано, как настроить сервер, настроить его для размещения веб-приложения C# ASP.NET, а затем развернуть приложение прямо из Visual Studio.

Эта статья посвящена использованию Azure Stack Hub. Вы можете запустить Azure в центре обработки данных с помощью Azure Stack Hub. Если вы ищете рекомендации по глобальной среде Azure, проверка публикации приложения ASP.NET Core в Azure с помощью Visual Studio.

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

нет

Создание виртуальной машины

Create виртуальную машину, а затем установите компоненты, необходимые для размещения веб-приложения .NET. На виртуальной машине потребуется консоль управления IIS, веб-служба управления, среда выполнения .NET и веб-развертывание Майкрософт. Вам потребуется открыть порты для веб-сервера и веб-развертывания с компьютера разработки. При установке среды выполнения .NET убедитесь, что вы используете одну и ту же версию .NET на целевом сервере и компьютере разработки.

  1. Create виртуальной машины Windows Server.

  2. Чтобы установить компоненты IIS (с консолью управления) и .NET 5.0 на виртуальной машине, выполните следующий скрипт в консоли PowerShell 5.x:

    # Install IIS (with Management Console)
    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
    # Install Web Management Service
    Install-WindowsFeature -Name Web-Mgmt-Service
    
  3. Скачайте .NET 5.0 на виртуальную машину.

  4. Скачайте веб-развертывания версии 3.6. Установите его с помощью MSI-файла, а затем включите все компоненты.

  5. На портале Azure Stack Hub откройте порты, перечисленные в параметрах сети для виртуальной машины.

    а. Откройте портал Azure Stack Hub для своего клиента.

    b. Найдите вашу виртуальную машину. Возможно, вы закрепили ее на панели мониторинга. Найти виртуальную машину можно с помощью поля Поиск ресурсов.

    c. Выберите Сети.

    d. В разделе виртуальной машины выберите Добавить правило входящего порта.

    д) Добавьте правило безопасности для входящего трафика для следующих портов:

    Порт Протокол Описание
    80 HTTP HTTP — это протокол, который используется для доставки веб-страниц с серверов. Клиенты подключаются по протоколу HTTP, используя DNS-имя или IP-адрес.
    443 HTTPS HTTPS — это безопасная версия протокола HTTP, которая использует сертификат безопасности и обеспечивает передачу данных в зашифрованном виде.
    22 SSH Secure Shell (SSH) — это сетевой протокол с применением шифрования для безопасного обмена данными. Это подключение будет использоваться с клиентом SSH для настройки виртуальной машины и развертывания приложения.
    3389 RDP Необязательный параметр. Протокол удаленного рабочего стола позволяет выполнять подключение к удаленному рабочему столу, чтобы использовать графический пользовательский интерфейс вашего компьютера.
    8172 Особые настройки Порт, используемый веб-развертыванием.

    Для каждого порта:

    а. В поле Источник выберите Любой.

    b. В поле Диапазон исходных портов введите звездочку (*).

    c. Для параметра Назначение выберите значение Любой.

    d. Добавьте порт, который вы хотите открыть, в поле Диапазон портов назначения.

    д) Для параметра Протокол выберите значение Любой.

    е) В поле Действие выберите Разрешить.

    ж. Оставьте значение по умолчанию для параметра Приоритет.

    h. Введите имя и описание. Это поможет запомнить, почему порт был открыт.

    i. Выберите Добавить.

  6. В разделе Обзор параметров виртуальной машины в Azure Stack Hub создайте DNS-имя для сервера. Пользователи могут подключаться к веб-сайту по URL-адресу.

    а. Откройте портал Azure Stack Hub для своего клиента.

    b. Найдите вашу виртуальную машину. Возможно, вы закрепили ее на панели мониторинга. Найти виртуальную машину можно с помощью поля Поиск ресурсов.

    c. Щелкните Обзор.

    d. В разделе DNS выберите Настроить.

    д) Для параметра Назначение выберите значение Динамическое.

    е) Введите метку DNS-имени, например mywebapp, чтобы полный URL-адрес стал mywebapp.region.cloudapp.azurestack.corp.contoso.com.

Создание приложения

Вы можете использовать приложение .NET по умолчанию в Visual Studio, собственное веб-приложение, пример см. в статье Публикация приложения ASP.NET Core в Azure с помощью Visual Studio. В этой статье описывается, как создать и опубликовать веб-приложение ASP.NET на виртуальной машине Azure с помощью функции публикации azure Виртуальные машины в Visual Studio 2019. После установки приложения убедитесь, что оно запущено локально, и обновите цель публикации на виртуальной машине Windows в своем экземпляре Azure Stack Hub.

Развертывание и запуск приложения

Create целевой объект публикации с компьютера разработки на виртуальную машину в Azure Stack Hub.

  1. Щелкните правой кнопкой мыши проект в обозревателе решений и выберите Опубликовать.

    Развертывание веб-приложения ASP.NET для публикации в Azure Stack Hub

  2. В окне Публикация выберите Создать.

  3. Выберите Веб-сервер (IIS).

  4. Выберите Следующий>веб-развертывание>Далее.

  5. В поле Сервер введите DNS-имя, определенное ранее, например mywebapp.region.cloudapp.azurestack.corp.contoso.com.

  6. В поле Имя сайта введите Default Web Siteили имя, используемое в СЛУЖБАх IIS на целевом сервере.

  7. В поле Имя пользователя введите имя пользователя для компьютера.

  8. В поле Пароль введите пароль для этого компьютера.

  9. В поле Конечный URL-адрес введите URL-адрес сайта, например http://mywebapp.region.cloudapp.azurestack.corp.contoso.com.

    Развертывание веб-приложения ASP.NET: настройка веб-развертывания

  10. Выберите Проверить подключение, чтобы проверить конфигурацию веб-развертывания. Нажмите кнопку Далее.

  11. Для параметра Конфигурация выберите значение Выпуск.

  12. Задайте для параметра Target Framework значение net5.0.

  13. Установите режим развертываниякак зависящий от платформы.

  14. Задайте целевую среду выполнениякак win-x64.

  15. Щелкните Сохранить.

  16. Нажмите кнопку Опубликовать. В консоли Visual Studio должны отобразиться следующие выходные данные:

    Publish Succeeded.
    Web App was published successfully http://mywebapp.region.cloudapp.azurestack.corp.contoso.com/
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
    ========== Publish: 1 succeeded, 0 failed, 0 skipped ==========
    
  17. Перейдите на новый сервер. Вы увидите запущенное веб-приложение.

    mywebapp.region.cloudapp.azurestack.corp.contoso.com