Aracılığıyla paylaş


Web Dağıtımı için Doğru Yaklaşımı Seçme

tarafından Jason Lee

Internet Information Services (IIS) Web Dağıtım Aracı (Web Dağıtımı) 2.0 veya üzeriyle çalışırken, paketlenmiş web uygulamalarınızı bir web sunucusuna almak için kullanabileceğiniz üç ana yaklaşım vardır. Şunlardan birini yapabilirsiniz:

  • Hedef sunucuda Web Dağıtım Aracısı Hizmeti'ni ("uzak aracı" olarak da bilinir) hedefleyerek uygulamayı uzak bir konumdan dağıtın.
  • Uygulamayı Web İsteğe Bağlı Dağıtma ("geçici aracı" olarak da bilinir) kullanarak uzak bir konumdan dağıtın.
  • Hedef sunucuda IIS Web Dağıtımı İşleyicisi'ni hedefleyerek uygulamayı uzak bir konumdan dağıtın.
  • Web paketini hedef sunucuya el ile kopyalayıp IIS Yöneticisi aracılığıyla içeri aktararak uygulamayı dağıtın.

Hedef web sunucularınızı nasıl yapılandıracağınız, hangi dağıtım yaklaşımını kullanmak istediğinize bağlıdır. Bu konu, hangi dağıtım yaklaşımının sizin için doğru olduğuna karar vermenize yardımcı olur.

Bu tablo, her dağıtım yaklaşımının temel avantajlarını ve dezavantajlarını ve her yaklaşıma en uygun senaryoları gösterir.

Yaklaşım Avantajlar Dezavantajlar Genel Senaryolar
Uzaktan Ajan Kurulumu kolaydır. Web uygulamalarında ve içerikte düzenli güncelleştirmeler için uygundur. Kullanıcının hedef sunucuda yönetici olması gerekir. kullanıcı alternatif kimlik bilgileri sağlayamıyor. Geliştirme ortamları. Test ortamları.
Geçici Temsilci Hedef bilgisayara Web Dağıtımı yüklemeniz gerekmez. Web Dağıtımı'nın en son sürümü otomatik olarak kullanılır. Kullanıcının hedef sunucuda yönetici olması gerekir. Kullanıcı alternatif kimlik bilgileri sağlayamıyor. Geliştirme ortamları. Test ortamları.
Web Dağıtımı İşleyicisi Yönetici olmayan kullanıcılar içerik dağıtabilir. Web uygulamalarında ve içerikte düzenli güncelleştirmeler için uygundur. Kurulumu çok daha karmaşıktır. Hazırlama ortamları. İntranet üretim ortamları. Barındırılan ortamlar.
Çevrimdışı Dağıtım Kurulumu çok kolaydır. Yalıtılmış ortamlar için uygundur. Sunucu yöneticisinin web paketini her seferinde el ile kopyalayıp içeri aktarması gerekir. İnternet'e yönelik üretim ortamları. Yalıtılmış ağ ortamları.

Uzak Aracıyı Kullanma

Web Dağıtımı'nı bir hedef sunucuya varsayılan ayarları kullanarak yüklediğinizde, Web Dağıtım Aracısı Hizmeti ("uzak aracı") otomatik olarak yüklenir ve başlatılır. Varsayılan olarak, uzak aracı şu adreste bir HTTP uç noktasını kullanıma sunar:

http://[server]/MSDEPLOYAGENTSERVICE

Uyarı

[server] yerine web sunucunuzun makine adını, web sunucunuzun IP adresini veya web sunucunuza çözümlenen bir ana bilgisayar adını ekleyebilirsiniz.

Sunucu yöneticileri, bu uç nokta adresini belirterek web paketlerini geliştirici makinesi veya derleme sunucusu gibi uzak bir konumdan dağıtabilir. Örneğin, Fabrikam, Inc.'deki Matt Hink'in geliştirici makinesinde ContactManager.Mvc web uygulaması projesini derlediğini varsayalım. Derleme işlemi, paketi yüklemek için gereken Web Dağıtımı komutlarını içeren bir .deploy.cmd dosyasıyla birlikte bir web paketi oluşturur. Matt TESTWEB1 sunucusunda sunucu yöneticisiyse, geliştirici makinesinde şu komutu çalıştırarak web uygulamasını test web sunucusuna dağıtabilir:

ContactManager.Mvc.deploy.cmd /y /m:http://TESTWEB1/MSDEPLOYAGENTSERVICE a/:NTLM

Aslında, makine adını sağlarsanız Web Deploy çalıştırılabilir dosyası uzak aracının uç nokta adresini çıkarabileceği için Matt'in yalnızca şunu yazması gerekir:

ContactManager.Mvc.deploy.cmd /y /m:TESTWEB1 /a:NTLM

Uyarı

Web Dağıtımı komut satırı söz dizimi ve .deploy.cmd dosyaları hakkında daha fazla bilgi için bkz . Nasıl yapılır: deploy.cmd Dosyasını Kullanarak Dağıtım Paketi Yükleme.

Uzak aracı, uzak bir konumdan içerik dağıtmak için basit bir yol sunar ve bu yaklaşım tek tıklamayla veya otomatik dağıtımla iyi çalışabilir. Ancak dağıtım komutunu çalıştıran kullanıcının da etki alanı yöneticisi veya hedef sunucudaki yerel yöneticiler grubunun üyesi olması gerekir. Ayrıca, uzak aracı temel kimlik doğrulamasını desteklemediğinden, komut satırında alternatif kimlik bilgilerini geçiremezsiniz.

Uzak aracı, geliştiricilerin bir test sunucusu ortamı üzerinde tam yönetici denetimine sahip olması yaygın olmayan geliştirme veya test senaryolarında dağıtım için kullanışlı bir yaklaşım sağlar ve uygulamalar genellikle çok sık yeniden oluşturulur ve yeniden dağıtılır. Ancak bu yaklaşım genellikle hazırlama veya üretim ortamları için daha az kabul edilebilir bir yaklaşımdır.

Uzak aracı yaklaşımını kullanan bir senaryonun uçtan uca örneği için bkz . Senaryo: Web Dağıtımı için Test Ortamı Yapılandırma.

Geçici Temsilciyi Kullanma

Geçici aracı dağıtımı yaklaşımı, uzak aracı yaklaşımına benzer. Ancak, uzak aracı yaklaşımının aksine, hedef web sunucusuna Web Dağıtımı yüklemeniz gerekmez. Bunun yerine, dağıtımı gerçekleştirdiğinizde, Web Dağıtımı hedef sunucuya web dağıtım aracısı hizmetinin geçici bir sürümünü yükler ve içeriğinizi IIS'ye dağıtmak için bunu kullanır. Dağıtım tamamlandığında, tüm geçici dosyalar kaldırılır.

Geçici aracı sağlayıcı ayarını kullanmak istiyorsanız dağıtım komutunuza /g bayrağını ekleyin:

ContactManager.Mvc.deploy.cmd /y /m:TESTWEB1 /g:true

Uyarı

Hizmet çalışmıyor olsa bile, web dağıtım aracısı hizmeti hedef bilgisayarda yüklüyse geçici aracıyı kullanamazsınız.

Bu yaklaşımın avantajı, hedef sunucularınızda Web Dağıtımı yüklemelerini korumanız gerekmesidir. Ayrıca, kaynak ve hedef bilgisayarların aynı Web Dağıtımı sürümünü çalıştırdığından emin olmanız gerekmez. Ancak, bu yaklaşım uzak aracı yaklaşımıyla aynı temel sınırlamalardan muzdariptir; yani içeriği dağıtmak için hedef sunucuda yerel yönetici olmanız gerekir ve yalnızca NTLM kimlik doğrulaması desteklenir. Geçici aracı yaklaşımı, hedef ortamın çok daha fazla başlangıç yapılandırması yapılmasını gerektirir.

Geçici ajanı kullanma hakkında daha fazla bilgi için bkz Nasıl yapılır: Deploy.cmd Dosyasını Kullanarak Dağıtım Paketi Yükleme ve İsteğe Göre Web Dağıtımı.

Web Dağıtımı İşleyicisini Kullanma

IIS 7 ve üzeri sürümler için Web Dağıtımı, IIS Web Dağıtımı İşleyicisi aracılığıyla alternatif bir dağıtım yaklaşımı sunar. Web Dağıtımı İşleyicisi, kullanıcıların uzak konumlardan IIS web sitelerini yönetmesine izin vermek için tasarlanmış IIS Web Yönetim Hizmeti (WMSvc) ile yakından tümleşiktir.

Varsayılan olarak, uzak aracı şu adreste bir HTTP uç noktasını kullanıma sunar:

https://[server]:8172/MSDeploy.axd

Uyarı

[server] yerine web sunucunuzun makine adını, web sunucunuzun IP adresini veya web sunucunuza çözümlenen bir ana bilgisayar adını ekleyebilirsiniz.

Web Dağıtımı İşleyicisi'nin uzak aracıya ve geçici aracıya göre büyük avantajı, YÖNETICI olmayan kullanıcıların uygulamaları ve içeriği belirli IIS web sitelerine dağıtabilmesi için IIS'yi yapılandırabilmenizdir. Web Dağıtımı İşleyicisi temel kimlik doğrulamasını da desteklediğinden, Web Dağıtımı komutlarınızda parametre olarak alternatif kimlik bilgileri sağlayabilirsiniz. En önemli dezavantajı, Web Dağıtımı İşleyicisi'nin başlangıçta kurulumu ve yapılandırılması çok daha karmaşık olmasıdır.

Yönetici olmayan kullanıcılar söz konusu olduğunda, Web Yönetim Hizmeti (WMSvc) kullanıcının sunucu düzeyinde bağlantı yerine yalnızca site düzeyinde bir bağlantı kullanarak IIS'ye bağlanmasına izin verir. Belirli bir siteye erişmek için, uç nokta adresine siteye özgü bir sorgu dizesi ekleyebilirsiniz:

https://[server]:8172/MSDeploy.axd?site=DemoSite

Öneri Örneğin, her başarılı derlemeden sonra bir web uygulamasını hazırlama ortamına otomatik olarak dağıtmak için bir derleme işleminin yapılandırıldığını varsayalım. Uzak aracı yaklaşımını kullandıysanız, derleme işlemi kimliğini hedef sunucularınızda yönetici yapmanız gerekir. Buna karşılık, Web Dağıtımı İşleyicisi yaklaşımını kullanarak yönetici olmayan bir kullanıcıya (bu örnekte FABRIKAM\stagingdeployer ) yalnızca belirli bir IIS web sitesine izin verebilir ve derleme işlemi web paketini dağıtmak için bu kimlik bilgilerini sağlayabilir. Aşağıdaki örnekte, bir ortam değişkeninden parola değerini çeken öğesinin kullanıldığına %ContactManagerPublishPassword%dikkat edin. Betiği %ContactManagerPublishPassword% başarıyla yürütmek için değişkenin doğru değerle tanımlanması gerekir.

msdeploy.exe 
  -source:package='…\ContactManager.Mvc.zip' 
  -dest:auto,
        computerName='https://STAGEWEB1:8172/MSDeploy.axd?site=DemoSite',
        userName='FABRIKAM\stagingdeployer',
        password=,
        authtype='Basic', 
  -verb:sync 
  -setParamFile:"…\ContactManager.Mvc.SetParameters.xml"   
  -allowUntrusted

Uyarı

Web Dağıtımı komut satırı işlemleri ve söz dizimi hakkında daha fazla bilgi için bkz. Web Dağıtımı Komut Satırı Başvurusu. .deploy.cmd dosyasını kullanma hakkında daha fazla bilgi için bkz. Nasıl yapılır: deploy.cmd Dosyasını Kullanarak Dağıtım Paketi Yükleme.

Web Dağıtımı İşleyicisi hazırlama ortamlarında, barındırılan ortamlarda ve intranet tabanlı üretim ortamlarında, sunucuya uzaktan erişimin kullanılabildiği ancak yönetici kimlik bilgilerinin kullanılamadığı dağıtıma yararlı bir yaklaşım sağlar.

Web Dağıtımı İşleyicisi yaklaşımını kullanan bir senaryonun uçtan uca örneği için bkz . Senaryo: Web Dağıtımı için Hazırlama Ortamı Yapılandırma.

Çevrimdışı Dağıtımı Kullanma

Bazı durumlarda, uygulamaları ve içeriği uzak bir konumdan IIS web sitesine dağıtmak mümkün veya pratik değildir. Örneğin, kaynak ve hedef bilgisayarlar yalıtılmış ağlarda veya ağ kesimlerinde olabilir veya güvenlik duvarı ilkesi uzaktan erişime izin vermeyebilir.

Bunlar gibi senaryolarda, Web Dağıtımı'nın paketleme ve yayımlama özelliklerini kullanmaya devam edebilirsiniz; bunları uzak bir konumdan kullanamazsınız. Bunun yerine, hedef sunucudaki bir yöneticinin web paketini sunucuya kopyalaması ve IIS Yöneticisi aracılığıyla içeri aktarması gerekir.

Bunun yerine, hedef sunucudaki bir yöneticinin web paketini sunucuya kopyalaması ve IIS Yöneticisi aracılığıyla içeri aktarması gerekir.

Çevrimdışı dağıtım yaklaşımı genellikle bir çevre ağındaki sunucuların iç ağdaki bilgisayarlarla bağlantıyı kısıtladığı İnternet'e yönelik üretim ortamlarında kullanışlıdır.

Çevrimdışı dağıtım yaklaşımını kullanan bir senaryonun uçtan uca örneği için bkz . Senaryo: Web Dağıtımı için Üretim Ortamı Yapılandırma.

Daha Fazla Okuma

Web Dağıtımı komut satırı işlemleri ve söz dizimi hakkında daha fazla bilgi için bkz. Web Dağıtımı Komut Satırı Başvurusu. .deploy.cmd dosyasını kullanma hakkında daha fazla bilgi için bkz. Nasıl yapılır: deploy.cmd Dosyasını Kullanarak Dağıtım Paketi Yükleme.

Uzak bir bilgisayardan web paketlerini dağıtmanın farklı yolları hakkında daha genel yönergeler için bkz. Uzaktan Web Dağıtımı Kullanma. Web İsteğe Bağlı Dağıtım'ı kullanma hakkında daha fazla bilgi için bkz. Web İsteğe Bağlı Dağıtma.