[個人筆記] Web Deploy常見的失敗錯誤

  • 3893
  • 0
  • 2020-02-26

其實是參考天空垃圾場的部落格

天空垃圾場的連結

http://blog.sanc.idv.tw/2014/08/aspnet-web-deploymvciis.html

 

Port:

Windows裡面的防火牆是否有開啟 8172 port

雲端服務 是否有另外一層防火牆機制(AWS、Azure) 也要開啟 8172

 

Server Manger的安裝

IIS、IIS裡面的 Management Service、ASP.NET 3.5 、ASP.NET 4.5、4.5 Extension (主要是因為我們都用4.5以上的版本開發)

 

IIS裡面的設定

要開啟Management Service 裡面的 Enable設定

 

可能要額外下載組件安裝

.NET 4.6.2的 (因為我們系統有用到) 好像也可以透過 Web Platform安裝

https://www.microsoft.com/en-us/download/details.aspx?id=53344

 

還曾經遇過 IIS只 listen到 127.0.0.1 (應該要bind到 0.0.0.0才可以對外IP)

https://stackoverflow.com/questions/29117108/iis-listen-only-127-0-0-1-instead-0-0-0-0

 

還出現Web Delpy 3.6 未正確安裝  要去新增/移除功能  那邊去change...

https://stackoverflow.com/questions/13870561/getting-a-404-from-wmsvc-via-msdeploy-exe

 

如果是Windows Server 2016 可能會需要執行以下cmd

For Windows Server 2016 use the following command:

dism /online /enable-feature /featurename:IIS-ASPNET45 /all

The suggested answers with aspnet_regiis doesn't work on Windows Server 2016:

 

其他莫名其妙的錯誤 (移除重裝)

也許可以考慮重新安裝webDeploy相關功能

1. 控制台 -> 新增移除程式 -> 把WebDeploy 2.0、3.6、4.0都移除

2. Server Manage -> Remove Feature -> 把 Management Service 勾勾取消掉 -> 移除 -> 重新開機

3. Web Platform Installer 重新安裝 WebDeploy 3.6 & Tool 2.1

 

如果開啟站台後 出現 403 Forbiden 而且是 ExecuteRequestHandler 相關的錯誤

檢查windows server 有沒有安裝到以下圖片的內容


 

IIS重啟的指令

 net stop was /y

 net start w3svc

 

發布可以過濾特定檔案


VS2017以上才適用的樣子

 <PropertyGroup>
    <ExcludeFilesFromDeployment>ConfigAppSettings.config;ConfigDbConn.config</ExcludeFilesFromDeployment>
 </PropertyGroup>

 

 

參考其他人得文章 

https://dotblogs.com.tw/technicaldebt/2017/02/24/130208