【初碼干貨】在Window Server 2016中使用Web Deploy方式發布.NET Web應用的重新梳理


在學習和工作的過程中,發現很多同事、朋友,在做.NET Web應用發布的時候,依然在走 生成-復制到服務器 這樣的方式,稍微高級一點的,就是先發布到本地,再上傳到服務器

這種方式不僅效率低下,而且不易進行版本控制,程序稍微復雜一些,加上團隊協作,發布就會出現各種不可預料的版本問題。

正好這兩天在玩Azure和Windows Server 2016,詳見《【初碼干貨】【Azure系列】1、再次感受Azure,體驗Windows Server 2016並部署BlogEngine.NET》,而我在實際使用過程中,也遇到過不少關於Web Deploy的坑,所以在這里,將WebDeploy的完整配置和使用方法重新梳理一遍

特別值得注意的是,雖然以Windows Server 2016作為演示,但和在Windows Server 2012 R2里面的步驟是完全一致!

下面是完整的步驟

1、在IIS里面點擊獲取新的Web平台組件

image

 

2、下載Web平台組件並安裝

image

 

3、在其中搜索Web Deploy,找到3.5版本,並安裝

image

image

image

image

 

4、繼續搜索Web Deploy 3.6版本,並安裝

image

image[36]

image

image

安裝好之后,重新進入IIS,發現新增了一些功能

image

 

5、進入計算機管理,修改兩個用戶(WDeployAdmin和WDeployConfigWriter)的密碼屬性,包括設置永不過期以及設置一個固定密碼

image

image

image

image

image

image

image

 

6、回到IIS中,對Web Deploy的管理服務委派中的部分提供程序的用戶進行重新配置(使用剛才設置的密碼)

image

image

image

image

image

這里只列舉一個 backupSettings的配置,其他的3個大家依葫蘆畫瓢就可以了

7、添加一個IIS管理用戶

image

image

image

 

7、配置防火牆

我們可以看到,WebDeploy服務的默認服務端口是8172

image[176]

因此要在入口規則中添加一個8172端口的入站規則

默認WebDeploy程序會添加防火牆例外處理,但是如果還是不行,則需要手工添加一下的。

好了,到目前為止,Web Deploy的配置,就大功告成了,一定要重啟服務器

 

下面還需要進行測試(接着看,不要走,測試里面有一步權限配置非常重要)

1、新建一個IIS站點

image

特別值得注意的是,這個IIS站點所在的目錄的文件夾,一定要有Local Service權限!否則在發布的是否,會提示權限不正確!

image

 

2、在站點的IIS管理器權限里面,添加剛才新增IIS管理用戶

image

image

 

image

這里有個指的注意的,IIS支持子站點的詳細權限配置,如有有子應用,可以進行類似的配置

 

3、在Visual Studio 2015里面新建一個asp.net web applicaiton空項目,進行測試

image

image

新建一個網頁

image

 

4、測試發布

image

image

image

這里的站點名稱,就是IIS的站點名稱,如果是子站點,就填寫

WebDeploy測試/子站點

image

在發布之前,最好預覽一下,這是一個很好的發布習慣!

image

最后點發布,會出現記錄

image

好了,看一下效果 http://webdeploytest.printhelloworld.com/


作者:張柔,發布於  博客園  與  張柔的博客

轉載請注明出處,歡迎郵件交流:zhangrou@printhelloworld.com,或者加QQ群:11444444


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM