- A+
VisualStudio直接远程部署到IIS以及自动备份部署包
以下操作中,服务器均为内网状态,无需联网
一、安装WebPlatformInstaller
下载地址:
下载安装包后在服务器上安装
二、安装WebDeploy
下载地址:
下载安装包后在服务器上安装,安装时选择将全部功能安装
三、开启服务器相关功能及服务
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%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:自动备份出错时是否继续发布
这样远程发布后
可以找到备份的部署包
附录、参考文档:
https://docs.microsoft.com/en-us/iis/publish/using-web-deploy/web-deploy-automatic-backups