Düzenle

Aracılığıyla paylaş


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ırmak için 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 ile ilgili yönergeler 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 oluşturun 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 oluşturun.

  2. IIS (Yönetim Konsolu ile) ve .NET 5.0 bileşenlerini VM'nize 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'nizi arayın. VM'yi panonuza sabitlemiş veya Kaynak ara 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 Açıklama
    80 HTTP Köprü Metni Aktarım Protokolü (HTTP), sunuculardan web sayfaları 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 isteğ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 biri'yi seçin.

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

    e. Protokol için Herhangi biri'yi seçin.

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

    r. Ö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. Ekle'yi seçin.

  6. Azure Stack Hub'daki 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'nizi arayın. VM'yi panonuza sabitlemiş veya Kaynak ara 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 ile Azure'da ASP.NET Core uygulaması yayımlama bölümünde bir örnek olan kendi web uygulamanız olan Visual Studio'da varsayılan .NET Uygulamasını kullanabilirsiniz. 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. Uygulamasını yükleyip yerel olarak çalıştığından emin olduktan sonra yayımlama hedefinizi Azure Stack Hub örneğinizdeki Windows VM'ye güncelleştireceksiniz.

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

Geliştirme makinenizden Azure Stack Hub'daki VM'nize yayımlama hedefi oluşturun.

  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) öğesini seçin.

  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 , 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'si 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'i net5.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 öğesini 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