通過VS2019發布.net網站


引言:本文是關於.net網站發布到服務器的站點的文章,參照了CSDN作者China_Lzw文章
原文:江小編

服務器配置為Windown Server 2019 Standard

第一:首先在IIS上安裝管理服務,配置好IIS7 允許使用VS2017遠程發布

為IIS7安裝管理服務

1.打開服務器管理,在主頁儀表盤處,添加角色服務,如下圖所示:

 

2.安裝管理服務,除了默認的服務我們將管理服務也安上,因為我的網站是ASP.NET網站

所以這里我也勾選了ASP.NET的服務,不用全部勾選,按自己需求勾選就好!

 

3.安裝會等一會兒,安裝好了后會在IIS的管理界面有一個管理服務的圖標,如下圖所示:

安裝成功

 

4.安裝成功后,在服務里面可以看到有一個服務叫:Web Management Service的服務進程。

執行到上面時,就表示安裝成功了

 

安裝Web Deploy程序

1.安裝Web Deploy程序也是必須的,如果不安裝時,在VS2019發布時會報以下錯誤,具體見下圖。

未能連接到遠程計算機(“www.jhrs.com”)。請確保在遠程計算機上安裝了Web Deploy 並啟動了所需的進程(“Web 部署代理服務”)。

在以下位置了解更多信息:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE。

遠程服務器返回錯誤:(404)未找到。

(如果之后全部部署完還是報相關錯誤,就卸載再安裝一次)

不安裝Web Deploy報錯

 

2.出現上面這個錯誤是因為Server 2019 Standrad服務器上未安裝Web Deploy程序所造成的,

這時你需要到服務器上安裝最新版本的Web Deploy v3.6這個程序。

安裝成功后,在服務里面有個叫:Web 部署代理服務 的服務程序,如下圖所示:

Web-Deploy-Services

Web-Deploy-Services

經過上面步驟的折騰,基本上就配置好了,接下來我們來配置IIS7,

允許我們在VS2019里面直接發布.net網站服務器上。

 

第二:服務器端配置好IIS7,允許VS2019通過Web部署方式發布程序

設置管理服務

1.點擊上面第3張圖片的管理服務圖標,進入下圖設置好即可,最后別忘記點右邊的啟用。

為VS2017發布建立專用賬戶,用於更新,並授好權限

2.此處是在服務器端建個專門的發布用戶,我是為了省事,直接授於這個賬號管理員權限的,

直接打開計算機管理,選擇本地用戶和組->用戶->添加用戶(我這里是public_user)。

然后讓該用戶隸屬於Administrator

 

3.在上面這個步驟完成后,再返回到IIS里面,這時需要選中你的網站,

再點擊IIS管理權限,將你在上個步驟建的賬號賦給這個網站,

不然你咋遠程發布.net 網站到這兒來呢?見下圖姿勢。

 

4.為網站設置發布用戶

在上面這個圖里面,把新建的用戶加進來。

好了,到此呢服務器端就基本上配置完成了。接下來我們來配置我們本地開發環境的VS2019。

 

第三:VS2019發布配置

 1.選中你的網站項目,右鍵點擊發布Web應用

 

2.選擇IIS發布

 

3.進入下一步后,按提示配置好即可,一般 來說,出現錯誤都是服務器端沒有配置好的。

服務器:填寫域名或者IP地址,不要帶 http:// 這個前綴。

站點名稱:你在IIS上網站的名稱

用戶名和密碼:就是你在服務器上專門建立的賬戶和密碼

目標URL:發布成功后,它會自動打開這個地址。

好了,經過上面的配置,我們就可以愉快的發布網站了。

 

第四:我遇到的錯誤及處理方法

錯誤一:

未能連接到遠程計算機(“www.jhrs.com”)。

請確保在遠程計算機上安裝了Web Deploy 並啟動了所需的進程(“Web 部署代理服務”)。

在以下位置了解更多信息:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE。

遠程服務器返回錯誤:(404)未找到。

處理方法
出現上面這個錯誤是因為Server 2008 R2服務器上未安裝Web Deploy程序所造成的,

這時你需要到服務器上安裝最新版本的Web Deploy v3.6這個程序,

安裝好了后會在服務列表看到一個叫:Web 部署代理服務 的程序。

Web Deploy v3.6的下載地址是:https://www.microsoft.com/zh-CN/download/details.aspx?id=43717

錯誤二:

已使用Web部署代理服務連接到”www.jhrs.com”,但未能授權。

請確保你是“www.jhrs.com”上的管理員。

在以下位置了解更多信息:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_NOT_ADMIN。

遠程服務器返回錯誤:(401)未經授權。

處理方法

我在部署這個時出現上面這個錯誤,尋找原因花了近1個小時,很是浪費哥哥時間,

原來是粗心大意犯的一個錯誤,在填寫服務器時,它這兒不需要帶 “http://”這個前綴。

錯誤三:

配置正確后,如果你的VS重啟或者重新開關機后,

再次發布會出現不信任的證書的問題,具體報錯的提示內容如下:

C:\Program Files\dotnet\sdk\2.1.402\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\PublishTargets\Microsoft.NET.Sdk.Publish.MSDeploy.targets(139,5):

錯誤 : Web deployment task failed. (已使用指定的進程(“Web Management Service”)連接到遠程計算機(“api.jhrs.com”),

但未能驗證服務器的證書。如果你信任該服務器,請再次連接並允許不信任的證書。

在以下位置了解更多信息: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CERTIFICATE_VALIDATION_FAILED。)

 

已使用指定的進程(“Web Management Service”)連接到遠程計算機(“api.jhrs.com”),

但未能驗證服務器的證書。如果你信任該服務器,請再次連接並允許不信任的證書。

在以下位置了解更多信息: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CERTIFICATE_VALIDATION_FAILED。

基礎連接已經關閉: 未能為 SSL/TLS 安全通道建立信任關系。

根據驗證過程,遠程證書無效。

Publish failed to deploy.

處理方法

  • 第一:打開網站下的website.publishproj文件
  •  

     

  • 第二:在最后一個節點(<PropertyGroup></PropertyGroup>)下增加一個節點,配置內容是:<AllowUntrustedCertificate>True</AllowUntrustedCertificate>

  如下圖所示:

  

 

完工:經過這些處理后,就做到了隨時發布,隨時更新.net 網站到服務器上,

不需要你再遠程到服務器上復制文件,再手工替換了。

但任可能包含一些問題,比如網站文件夾用戶權限沒給夠,

按照上面方法設置基本解決了百分之90以上的問題,剩下的度娘都能解決啦!


免責聲明!

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



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