VisualStudio直接远程部署到IIS以及自动备份部署包

  • A+
所属分类:.NET技术
摘要

以下操作中,服务器均为内网状态,无需联网下载地址:https://www.microsoft.com/web/downloads/platform.aspx


VisualStudio直接远程部署到IIS以及自动备份部署包

以下操作中,服务器均为内网状态,无需联网

一、安装WebPlatformInstaller

下载地址:

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

下载安装包后在服务器上安装
VisualStudio直接远程部署到IIS以及自动备份部署包

二、安装WebDeploy

下载地址:

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

下载安装包后在服务器上安装,安装时选择将全部功能安装
VisualStudio直接远程部署到IIS以及自动备份部署包

三、开启服务器相关功能及服务

1.安装功能

开启服务器的“服务器管理器”,开启添加功能和角色,一直下一步到“服务器角色”
安装IIS管理脚本及工具和管理服务
VisualStudio直接远程部署到IIS以及自动备份部署包

2.打开服务

在任务管理器中查看,有没有WMSVC(WEB管理服务)
VisualStudio直接远程部署到IIS以及自动备份部署包
没有的话点击下方的打开服务,找到“Web Managerment Service”服务,启动类型设置为“自动”,然后重启此服务
VisualStudio直接远程部署到IIS以及自动备份部署包

四、开启IIS的管理服务

打开IIS管理器,点击IIS主页,打开“管理服务”。
停止WMSVC服务后:
勾选启用远程连接、标识凭据选择“IIS管理器”、填写服务器IP地址。
重新启用WMSVC服务
VisualStudio直接远程部署到IIS以及自动备份部署包
VisualStudio直接远程部署到IIS以及自动备份部署包

五、添加IIS管理器用户

打开IIS管理器,点击IIS主页,打开“IIS管理器用户”。
添加一个用于远程部署的用户。
VisualStudio直接远程部署到IIS以及自动备份部署包
VisualStudio直接远程部署到IIS以及自动备份部署包

六、为站点或应用程序配置IIS管理器用户

单击站点,打开"IIS管理器权限"
点击“允许用户”,添加(五)中创建的IIS管理器用户
VisualStudio直接远程部署到IIS以及自动备份部署包
VisualStudio直接远程部署到IIS以及自动备份部署包

七、开启站点的WEB远程部署功能

右击站点名称,开启站点的WEB远程部署功能
VisualStudio直接远程部署到IIS以及自动备份部署包

八、使用开发机VisualStudio进行远程部署

发布时选择WEB部署,填写相关数据。
如果发布的是应用,则增加 /{应用名称}
VisualStudio直接远程部署到IIS以及自动备份部署包

九、连接时可能遇到的问题

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%system32inetsrvconfigschemaBackupManagerSchema.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:自动备份出错时是否继续发布

这样远程发布后
VisualStudio直接远程部署到IIS以及自动备份部署包

可以找到备份的部署包
VisualStudio直接远程部署到IIS以及自动备份部署包

附录、参考文档:

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