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