在开发过程中经常需要发布到开发环境、测试环境或者预发布环境上给其他同事进行测试验证效果等等,每次发布都要备份,拷贝,修改配置文件等等重复操作非常的麻烦,效率大打折扣,而web部署提供了这样的解决方案:在服务端安装Web Deploy服务,由Web Deploy服务完成备份发布等操作,今天小编就以图文并茂的方式来完整介绍这一安装部署的过程,具体有以下两大部分:

第一部分:Web Deploy服务的安装与设置

一、安装IIS管理服务:打开服务器管理器 - 添加角色和功能  勾选web服务器(IIS)的管理服务选项 如图(一),然后点击下一步完成安装

图一

二、安装Web Deploy V3.6

下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=43717

下载完之后直接安装,我选择的是完全安装选项

v3.5的下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=39277

三、启动Web Deploy服务

Web Deploy服务安装完毕之后一般默认情况下是没有启动的,我遇到的情况就是这样,在更改配置之前必须向将Web Deploy服务停止,如图二:

图二

更改服务配置的操作步骤: 打开IIS主页 - 管理服务 - 更改配置:启动远程连接选项勾上 如图(三)

图三

四、开通防火墙入站规则的相应端口,如果在上一个步骤中你没有更改端口,那么默认就是8172,如图四

图四

图五

六、设置目标站点的IIS管理器权限,如图六

图六

七、为目标站点的根目录文件夹添加LOCAL SERVICE用户,并设为完全控制的权限,如图七

图七

八、开启自动备份

默认情况下deploy是没有打开自动备份的,那么开启自动备份的方法如下:

1、打开windows的PowerShell 执行下面的命令转到“%programfiles%\IIS\Microsoft Web Deploy V3\scripts”目录

cd "C:\Program Files\IIS\Microsoft Web Deploy V3\scripts"

2、检查当前PowerShell的执行策略,如果是Restricted 那么需要将它改为 RemoteSigned

Get-Executionpolicy

  //如果输出为:Restricted 那么执行下面的命令进行修改执行策略

Set-Executionpolicy RemoteSigned

  注意:上面命令会询问你是否要更改执行策略,你根据提示输入Y按回车

  关于PowerShell的其他设置可以参照官方的文档:https://technet.microsoft.com/zh-CN/library/hh847748.aspx

  3、执行下面的命令加载脚本:

. .\BackupScripts.ps1

  注意:如果加载成功,将没有任何反应,如果加载失败将会有红色的提示语句;

  4、通过TurnOn-Backups命令允许管理员开启或关闭站点的自动备份功能,这相当于一个总闸开关。

  允许配置所有的备份功能

TurnOn-Backups -On $true

  禁用配置所有的备份功能

TurnOn-Backups -On $false

  5、打开所有站点或者指定站点的自动备份功能

# 打开所有站点的备份功能
Configure-Backups -Enabled $true# 打开foo站点的备份功能
Configure-Backups -SiteName "foo" -Enabled $true

  自动备份设置已经完成,关于跟多的自动备份设置请参照官方文档:https://www.iis.net/learn/publish/using-web-deploy/web-deploy-automatic-backups

到此为止在服务端上的操作就已经完成了,接下来以VS2015为例介绍在客户端上的操作。

第二部分、发布站点

一、在发布之前我们先来添加一个配置转换,由于本地的配置和服务器上的配置一般有所差异,所以添加一个配置转换解决差异的问题,在添加配置转换之前要先添加一个对应的解决方案配置,添加的方法如图八所示:

图八

二、解决方案配置一般按照发布的目标环境命名,这样比较清晰是针对哪个服务器环境的,然后在解决方案的站点根目录下右键web.config文件,在弹出来的上下文菜单中添加配置转换,如图九:

图九

最后的到多出了一个web.测试环境.config的文件如图十:

图十

三、在转换配置文件中添加有差异的配置节点,一般来说数据库连接,每个服务器环境都是不一样的,这里就以connectionStrings这个节点为例子简单说明一下,有关使用 web.config 转换的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=125889,如下图十一

图十一

添加完成之后,您可以右键web.测试环境.config文件在弹出的上下文菜单中预览转换后的结果,如图十二

图十二

四、发布和发布配置,右键web项目在上下文菜单中选择发布菜单,弹出的界面中选择自定义,我们这里还是输入测试环境,如图十三

图十三

点击确定后会转到选择发布方法的界面,这里选择 Web Deploy,如图十四

图十四

这里面有几个参数需要说明一下的:

1、服务器:测试环境的服务器IP地址,在这里就是本文的第一部分介绍的服务器IP地址了

2、站点名称:发布的目标站点,这里就是本文第一部分介绍的在服务端创建的DeployTest站点

3、用户名:目标站点允许的用户名,这里就是本文第一部分介绍DeployTest站点添加的Test用户

4、密码:用户名的密码

5、目标URL:网站的主页,这个选项是可选的

6、验证连接:这个按钮是用来验证你填写的参数是否正确,如果一切都正常,那么点击下一页,进入到配置选择页,在这个操作界面要记得选择对应的配置,那么我们选择测试环境,如图十五

图十五

来到最后一个页面就是预览了,当然你可以直接点击发布,也可以点击预览,选择性地发布,如图十六

图十六

点击发布后系统开始连接服务器将对应的站点进行备份,然后再覆盖站点,到这里整个流程就已经完成了,谢谢您的关注和阅读!

转载于:https://www.cnblogs.com/zzp0320/p/7927528.html

ASP.NET站点Web部署(一键发布的实现)相关推荐

  1. ASP.NET Core WEB部署:Kestrel

    ASP.NET Core WEB部署:Kestrel.IIS.Docker 本文链接:https://blog.csdn.net/sundna/article/details/90242777 本文主 ...

  2. netcore开发windows普通服务(非Web)并一键发布到服务器

    netcore下开发windows服务如果是web项目的话,由于aspnetcore本身是支持的,把默认的host.Run改为host.RunAsService就可以了. 但是普通的netcore的控 ...

  3. 在IIS上部署ASP.NET Core Web API

    目录 Visual Studio 2019和Dot Net Core 3.0 Windows Server上的Dot Net Core运行时 在服务器上启用IIS IIS应用程序池 IIS网站 创建A ...

  4. 在 Azure 上部署 Asp.NET Core Web App

    在云计算大行其道的时代,当你要部署一个网站时第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core的网站呢?Azure 的 Web App ...

  5. Azure 部署 Asp.NET Core Web App

    在云计算大行其道的时代,当你在部署一个网站时,第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一个 ASP.NET Core 的网站呢?Azure 的 Web A ...

  6. ASP.NET Core 2.0 MVC 发布部署--------- ASP.NET Core 发布的具体操作

    ASP.NET Core 发布的具体操作 下面使用C# 编写的ASP.NET Core Web项目示例说明发布的全过程. 1.创建项目 选择"文件" > "新建&q ...

  7. Ubuntu GitLab CI Docker ASP.NET Core 2.0 自动化发布和部署(1)

    相关博文: Ubuntu 简单安装和配置 GitLab Ubuntu 简单安装 Docker Ubuntu Docker 简单安装 GitLab Ubuntu Docker 安装和配置 GitLab ...

  8. VS2022(Visual Studio)发布ASP.NET Core Web API应用到Web服务器(IIS)

    概述 写完代码后,最常用.简单的发布方式,就是将应用发布到文件夹,然后将publish文件夹复制到要部署的机器上(本地.局域网服务器.云服务器等). 但是在实际工作中,可能会遇到需要频繁地发布,以使应 ...

  9. win10下 VS2019 C#创建web项目并发布部署在iis

    win10下 VS2019 C#创建web项目并发布部署在iis 安装iis: 安装完成后在浏览器输入:http://localhost/ 说明安装成功 创建web项目: 添加新窗体 编写内容 设置发 ...

  10. 【学习笔记asp.net】WebService创建、发布及在IIS上部署

    本系列主要记录我在工作中遇到问题时,查阅收集到的各类博主的解决方案.新手主要做的是记录学习实践,并不做其它评价.涉及到版权问题的,请博主联系删除. 最近做的mvc项目需要在两个内外网项目之间再加一个w ...

最新文章

  1. 8张图让你一步步看清 async/await 和 promise 的执行顺序
  2. [转载]Outlook 2016 显示正在启动... 无法进入Outlook的解决方案
  3. matlab 小练习,matlab初试牛刀__小练习
  4. Redis 到底有多快?
  5. mysql 无法存储joda time的datetime类型
  6. oracle函数 sysdate
  7. 回收站有html文件,回收站在哪个盘?(每个磁盘上都有一个回收站)
  8. 微信支付 第一次成功,其他无法调起,返回-1(Android eclipse 微信支付之大坑 签名工具问题)
  9. 并发编程常见面试题总结二
  10. 怎么下载php文件的电影,下电影下下来是.php格式,请问怎么打开?
  11. kewail node 短信_node.js短信接口_node.js发短信_node.js短信验证码_验证码短信代码示例_互亿无线...
  12. X线、CT、B超、核磁共振区别
  13. 勒索病毒基础介绍,值得收藏
  14. Excel数据分列大法总结
  15. SpringCloud的认识和基本入门使用
  16. 前端实例1——blog页面(css样式)
  17. ViewPager系列之ViewPager无限循环滑动
  18. windows中使用钩子拦截消息
  19. 小米手机便签软件的语音玩法介绍
  20. 盘点世界杯 之 世界杯十大震惊榜

热门文章

  1. 二十三、Java异常捕获与处理
  2. 十七、String类型常用方法(二)
  3. Linux chapter 5
  4. Centos 8 安装和配置 VNC 服务,让 MAC 可以远程桌面管理Centos(linux)
  5. SpringMVC 注解 @Scope、@PostConstruct、@PreDestroy、@ComponentScan
  6. rabbitmq的发布订阅
  7. 2018暑假第五周总结(8.6-8.12)
  8. appserv+win8
  9. BZOJ3142 [Hnoi2013]数列
  10. 《你的灯亮着吗》读书笔记一