環境:
- 服務器:windows server 2012
- IIS:8.0
- web deploy組件:本身已經帶了這個組件,后面我又安裝了3.5
- VS:2015
發布流程:
- 在服務器建立站點,綁好域名
- VS選擇要發布的項目,發布
- 第一步和發布到文件系統一樣,選擇配置文件
- 第二步發布方式選擇web deploy,相關配置信息如下
-
- Server:https://YourServerIP:8172/msdeploy.axd(如果服務器開了防火牆記得打開8172端口)
- Site name:YorSiteName
- UserName:這里有兩個選擇,一個是windows賬戶,登錄服務器的賬戶密碼即可;另一種選擇是IIS用戶,這里需要單獨創建,並分配權限,稍后介紹
- Destination URL:你的站點綁定的域名,據我觀察,發布成功后會在客戶端打開這個地址,以方便查看發布結果
- 一路下一步就可以了,這種方式發布可以預覽本次的修改
服務器配置:
首先要確保服務器上的IIS和web deploy已經完全安裝,這里建議安裝web deploy時選擇完全安裝,否則可能會有401等錯誤。
IIS中選擇主頁,功能列表中有個選項叫做“管理服務”,
打開之后按照圖片中設置,主要是啟用遠程連接,而且標識憑據中根據需求選擇只用windows憑據還是同時使用IIS憑據。
WMSVC服務在服務列表中是:web mangement service
點擊你的站點,在功能列表中選擇IIS管理器權限,右邊點擊允許用戶,選擇windows類型的用戶,添加你的賬號
右擊站點,選擇部署-啟用web deploy發布
授權用戶就選擇剛才在IIS管理器權限中添加的用戶,其它不用管,點擊設置,結果提示成功后,關閉就可以。
到這里如果一切正常,按照發布流程已經可以發布了。如果有550錯誤,401授權錯誤等,繼續往下看。
接着介紹第二種授權方式,IIS憑據授權。
這種方式和windows憑證授權步驟一致,但是要記得在選擇授權用戶時選擇IIS用戶。
IIS用戶的創建方法是:
選擇主頁,在功能列表中選擇IIS管理器用戶-添加用戶。
其他問題:
401授權錯誤,可以按照如下步驟嘗試:
- 在服務器本地用戶中創建 WDeployAdmin 和 WDeployConfigWriter. 並設置密碼(第四步還將用到)。二者都同時勾選“密碼永不過期“ 。
- 添加WDeployAdmin 到Administrators組
- 打開C:\\Windows\system32\inetsrv\config—屬性—安全,添加WDeployConfigWriter並賦予修改和寫權限
- 打開IIS,選擇”Management Service Delegation ( 管理服務委派)”將這里所有用戶名為WDeploy* 的點擊右側的“編輯”—“設置”填寫第一步添加的用戶名和密碼。
550錯誤,可嘗試如下步驟:
- 找到站點根目錄
- 屬性-安全-給local service、IIS_IUSERS分配修改權限