Azure Stack Hub'da bir VM'ye C# ASP.NET web uygulaması dağıtma

C# ASP.NET web uygulamanızı Azure Stack Hub'da barındırmak için bir sanal makine (VM) oluşturabilirsiniz. Bu makalede sunucunuzu ayarlama, C# ASP.NET web uygulamanızı barındıracak şekilde yapılandırma ve ardından uygulamayı doğrudan Visual Studio'dan dağıtma gösterilmektedir.

Bu makale Azure Stack Hub'ı kullanma hakkındadır. Azure Stack Hub'ı kullanarak veri merkezinizde Azure'ı çalıştırabilirsiniz. Genel Azure için rehberlik arıyorsanız Visual Studio ile Azure'da ASP.NET Core uygulaması yayımlama bölümüne bakın.

Önkoşullar

Hiçbiri

VM oluşturma

BIR VM İçerik Oluşturucu ve ardından .NET web uygulamanızı barındırmak için ihtiyacınız olan bileşenleri yükleyin. SANAL makinenizde IIS Yönetim Konsolu, Web yönetim hizmeti, .NET çalışma zamanı ve Microsoft Web Dağıtımı gerekir. Geliştirme makinenizden web sunucunuz ve Web Dağıtımı için bağlantı noktalarını açmanız gerekir. .NET çalışma zamanını yüklerken hem hedef sunucunuzda hem de geliştirme makinenizde aynı .NET sürümünü kullandığınızdan emin olun.

  1. Bir Windows Server VM İçerik Oluşturucu.

  2. VM'nize IIS (Yönetim Konsolu ile) ve .NET 5.0 bileşenlerini yüklemek için PowerShell 5.x konsolunuzda aşağıdaki betiği çalıştırın:

    # Install IIS (with Management Console)
    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
    # Install Web Management Service
    Install-WindowsFeature -Name Web-Mgmt-Service
    
  3. VM'nize .NET 5.0'ı indirin.

  4. Web Dağıtımı v3.6'yi indirin. MSI dosyasından yükleyin ve ardından tüm özellikleri etkinleştirin.

  5. Azure Stack Hub portalında VM'nizin ağ ayarlarında listelenen bağlantı noktalarını açın.

    a. Kiracınız için Azure Stack Hub portalını açın.

    b. VM'niz için Arama. VM'yi panonuza sabitlemiş veya Arama kaynakları kutusunda arayabilirsiniz.

    c. 'ı seçin.

    d. VM'nin altında Gelen bağlantı noktası kuralı ekle'yi seçin.

    e. Aşağıdaki bağlantı noktaları için bir gelen güvenlik kuralı ekleyin:

    Bağlantı noktası Protokol Description
    80 HTTP Köprü Metni Aktarım Protokolü (HTTP), sunuculardan web sayfalarını teslim etmek için kullanılan protokoldür. İstemciler BIR DNS adı veya IP adresiyle HTTP üzerinden bağlanır.
    443 HTTPS Köprü Metni Aktarım Protokolü Güvenli (HTTPS), güvenlik sertifikası gerektiren ve bilgilerin şifrelenmesini sağlayan güvenli bir HTTP sürümüdür.
    22 SSH Secure Shell (SSH), güvenli iletişimler için şifrelenmiş bir ağ protokolüdür. Vm'yi yapılandırmak ve uygulamayı dağıtmak için bu bağlantıyı bir SSH istemcisiyle kullanacaksınız.
    3389 RDP İsteğe bağlı. Uzak Masaüstü Protokolü, uzak masaüstü bağlantısının makinenizde grafik kullanıcı arabirimi kullanmasına olanak tanır.
    8172 Özel Web Dağıtımı tarafından kullanılan bağlantı noktası.

    Her bağlantı noktası için:

    a. Kaynak olarak Herhangi biri'yi seçin.

    b. Kaynak bağlantı noktası aralığı için bir yıldız işareti ()* yazın.

    c. Hedef için Herhangi birini seçin.

    d. Hedef bağlantı noktası aralığı için açmak istediğiniz bağlantı noktasını ekleyin.

    e. Protokol için Herhangi birini seçin.

    f. Eylem alanında İzin ver'i seçin.

    g. Öncelik için varsayılan seçimi değiştirmeyin.

    h. Bağlantı noktasının neden açık olduğunu hatırlamanıza yardımcı olması için bir Ad ve Açıklama girin.

    i. Add (Ekle) seçeneğini belirleyin.

  6. Azure Stack Hub'da VM'nizin Genel Bakış ayarlarında sunucunuz için bir DNS adı oluşturun. Kullanıcılar URL'yi kullanarak web sitenize bağlanabilir.

    a. Kiracınız için Azure Stack Hub portalını açın.

    b. VM'niz için Arama. VM'yi panonuza sabitlemiş veya Arama kaynakları kutusunda arayabilirsiniz.

    c. Genel bakış'ı seçin.

    d. DNS'nin altında Yapılandır'ı seçin.

    e. Atama için Dinamik'i seçin.

    f. Tam URL'nizin mywebapp.region.cloudapp.azurestack.corp.contoso.com gibi olması için mywebapp gibi DNS adı etiketini girin.

Uygulama oluşturma

Visual Studio'da varsayılan .NET Uygulamasını( kendi web uygulamanız) kullanabilirsiniz. Örneğin Visual Studio ile Azure'da ASP.NET Core uygulaması yayımlama. Makalede, Visual Studio 2019'da Azure Sanal Makineler yayımlama özelliğini kullanarak bir ASP.NET web uygulamasının nasıl oluşturulacağı ve bir Azure sanal makinesinde nasıl yayımlandığı açıklanır. Uygulamanızı yükleyip yerel olarak çalıştığından emin olduktan sonra yayımlama hedefinizi Azure Stack Hub örneğinizdeki Windows VM'sine güncelleştireceksiniz.

Uygulamayı dağıtma ve çalıştırma

Geliştirme makinenizden Azure Stack Hub'daki VM'nize yayımlama hedefi İçerik Oluşturucu.

  1. Çözüm Gezgini'da projenize sağ tıklayın ve yayımla'yı seçin.

    Azure Stack Hub'a ASP.NET web uygulaması dağıtma yayımlama

  2. Yayımla penceresinde Yeni'yi seçin.

  3. Web Sunucusu (IIS) seçeneğini belirleyin.

  4. Sonraki>Web SonrakiNi Dağıt'ı>seçin.

  5. Sunucu için, daha önce tanımladığınız DNS adını girin, örneğinmywebapp.region.cloudapp.azurestack.corp.contoso.com.

  6. Site adı alanına yazın veya hedef sunucunuzdaki IIS'de kullanılan adı girinDefault Web Site.

  7. Kullanıcı adı alanına makinenin kullanıcı adını girin.

  8. Parola alanına makinenin parolasını girin.

  9. Hedef URL için, sitenin URL'sini girin, örneğinhttp://mywebapp.region.cloudapp.azurestack.corp.contoso.com.

    ASP.NET web uygulaması dağıtma - Web Dağıtımı'nın yapılandırılması

  10. Web dağıtımı yapılandırmanızı doğrulamak için Bağlantıyı doğrula'yı ve ardından İleri'yi seçin.

  11. Yapılandırma'yıYayın olarak ayarlayın.

  12. Target Framework'inet5.0 olarak ayarlayın.

  13. Dağıtım Modu'nuÇerçeveye Bağımlı olarak ayarlayın.

  14. Hedef Çalışma Zamanı'nıwin-x64 olarak ayarlayın.

  15. Kaydet’i seçin.

  16. Yayımla’yı seçin. Visual Studio'da konsolunuzda aşağıdaki çıkışı görmeniz gerekir:

    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. Yeni sunucunuza gidin. Çalışan web uygulamanızı görmeniz gerekir.

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