VisualStudio發布(一):一鍵遠程部署至IIS以及自動備份部署包


VisualStudio一鍵遠程部署到IIS以及自動備份部署包

以下操作中,服務器均為內網狀態,無需聯網

相關文章

VisualStudio發布(一):一鍵遠程部署至IIS以及自動備份部署包

VisualStudio發布(二):根據不同活動解決方案配置使用對應的動態鏈接庫

VisualStudio發布(三):解決WDeploy密碼過期導致的發布失敗

一、安裝WebPlatformInstaller

下載地址:

https://www.microsoft.com/web/downloads/platform.aspx

下載安裝包后在服務器上安裝

二、安裝WebDeploy

下載地址:

https://www.iis.net/downloads/microsoft/web-deploy

下載安裝包后在服務器上安裝,安裝時選擇將全部功能安裝

三、開啟服務器相關功能及服務

1.安裝功能

開啟服務器的“服務器管理器”,開啟添加功能和角色,一直下一步到“服務器角色”
安裝IIS管理腳本及工具和管理服務

2.打開服務

在任務管理器中查看,有沒有WMSVC(WEB管理服務)

沒有的話點擊下方的打開服務,找到“Web Managerment Service”服務,啟動類型設置為“自動”,然后重啟此服務

四、開啟IIS的管理服務

打開IIS管理器,點擊IIS主頁,打開“管理服務”。
停止WMSVC服務后:
勾選啟用遠程連接、標識憑據選擇“IIS管理器”、填寫服務器IP地址。
重新啟用WMSVC服務

五、添加IIS管理器用戶

打開IIS管理器,點擊IIS主頁,打開“IIS管理器用戶”。
添加一個用於遠程部署的用戶。

六、為站點或應用程序配置IIS管理器用戶

單擊站點,打開"IIS管理器權限"
點擊“允許用戶”,添加(五)中創建的IIS管理器用戶

七、開啟站點的WEB遠程部署功能

右擊站點名稱,開啟站點的WEB遠程部署功能

八、使用開發機VisualStudio進行遠程部署

發布時選擇WEB部署,填寫相關數據。
如果發布的是應用,則增加 /{應用名稱}

九、連接時可能遇到的問題

1.用戶權限問題

已使用 Web 管理服務連接到遠程計算機(“xxx”),但未能授權。請確保你使用了正確的用戶名和密碼、你連接的站點已存在並且憑據代表的用戶有權訪問該站點。

驗證第五步到第七步配置的有沒有問題。

2.遠程服務器處理請求出錯

Web 部署任務失敗。在遠程計算機上處理請求時出錯

確認安裝了WebPlatformInstaller。如果沒有安裝的話先卸載WebDeploy。然后依次安裝WebPlatformInstaller、WebDeploy。
重新走一遍流程。

十、開啟自動備份及相關配置

WebDeploy可以在發布時先自動壓縮部署文件為ZIP備份在服務器上,再進行遠程部署。

關於自動備份相關配置,推薦參考官方文檔

https://docs.microsoft.com/en-us/iis/publish/using-web-deploy/web-deploy-automatic-backups

簡單說一下
配置文件路徑:%windir%\system32\inetsrv\config\schema\BackupManagerSchema.xml

<wdeploy>
    <backup enabled="true"
            numberOfBackups="2"
            backupPath="{sitePathParent}\{siteName}_siteBackups"
            continueSyncOnBackupFailure="false">
     <excludedProviders>
        <provider name="dbFullSql" />
     </excludedProviders>
     <backupSettingsProvider
            canSetEnabled="true"
            canSetNumberOfBackups="true"
            canSetContinueSyncOnBackupFailure="true"
            canSetExcludedProviders="true" />
    </backup>
</wdeploy>

主要參數:

(1)enabled:是否開啟自動備份

(2)numberOfBackups:備份保存的數量(如果備份的壓縮包超過數量,會從最舊的壓縮包進行滾動式刪除)
不填寫的話默認值為:4。

(3)backupPath:保存備份壓縮包的文件夾路徑
不填寫的話默認值為:"{sitePathParent}{siteName}_snapshots"。{sitePathParent}為站點文件夾的目錄,{siteName}為站點名稱

(4)canSetExcludedProviders:自動備份出錯時是否繼續發布

這樣遠程發布后

可以找到備份的部署包

附錄、參考文檔:

https://docs.microsoft.com/en-us/iis/publish/using-web-deploy/web-deploy-automatic-backups

https://forums.iis.net/t/1241314.aspx?Default+Web+Site+Applications+not+being+backed+up+Automatically

https://blog.csdn.net/CsethCRM/article/details/81541416


免責聲明!

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



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