【初码干货】在Window Server 2016中使用Web Deploy方式发布.NET Web应用的重新梳理
在学习和工作的过程中,发现很多同事、朋友,在做.NET Web应用发布的时候,依然在走 生成-复制到服务器 这样的方式,稍微高级一点的,就是先发布到本地,再上传到服务器
这种方式不仅效率低下,而且不易进行版本控制,程序稍微复杂一些,加上团队协作,发布就会出现各种不可预料的版本问题。
正好这两天在玩Azure和Windows Server 2016,详见《【初码干货】【Azure系列】1、再次感受Azure,体验Windows Server 2016并部署BlogEngine.NET》,而我在实际使用过程中,也遇到过不少关于Web Deploy的坑,所以在这里,将WebDeploy的完整配置和使用方法重新梳理一遍
特别值得注意的是,虽然以Windows Server 2016作为演示,但和在Windows Server 2012 R2里面的步骤是完全一致!
下面是完整的步骤
1、在IIS里面点击获取新的Web平台组件

2、下载Web平台组件并安装

3、在其中搜索Web Deploy,找到3.5版本,并安装




4、继续搜索Web Deploy 3.6版本,并安装




安装好之后,重新进入IIS,发现新增了一些功能

5、进入计算机管理,修改两个用户(WDeployAdmin和WDeployConfigWriter)的密码属性,包括设置永不过期以及设置一个固定密码







6、回到IIS中,对Web Deploy的管理服务委派中的部分提供程序的用户进行重新配置(使用刚才设置的密码)





这里只列举一个 backupSettings的配置,其他的3个大家依葫芦画瓢就可以了
7、添加一个IIS管理用户



7、配置防火墙
我们可以看到,WebDeploy服务的默认服务端口是8172

因此要在入口规则中添加一个8172端口的入站规则
默认WebDeploy程序会添加防火墙例外处理,但是如果还是不行,则需要手工添加一下的。
好了,到目前为止,Web Deploy的配置,就大功告成了,一定要重启服务器
下面还需要进行测试(接着看,不要走,测试里面有一步权限配置非常重要)
1、新建一个IIS站点

特别值得注意的是,这个IIS站点所在的目录的文件夹,一定要有Local Service权限!否则在发布的是否,会提示权限不正确!

2、在站点的IIS管理器权限里面,添加刚才新增IIS管理用户



这里有个指的注意的,IIS支持子站点的详细权限配置,如有有子应用,可以进行类似的配置
3、在Visual Studio 2015里面新建一个asp.net web applicaiton空项目,进行测试


新建一个网页

4、测试发布



这里的站点名称,就是IIS的站点名称,如果是子站点,就填写
WebDeploy测试/子站点

在发布之前,最好预览一下,这是一个很好的发布习惯!

最后点发布,会出现记录

好了,看一下效果 http://webdeploytest.printhelloworld.com/
转载请注明出处,欢迎邮件交流:zhangrou@printhelloworld.com,或者加QQ群:11444444
【初码干货】在Window Server 2016中使用Web Deploy方式发布.NET Web应用的重新梳理的更多相关文章
- 在Window Server 2016中使用Web Deploy方式发布.NET Web应用
1.在IIS里面点击获取新的Web平台组件 2.下载Web平台组件并安装 3.在其中搜索Web Deploy,找到3.5版本,并安装 4.继续搜索Web Deploy 3.6版本,并安装 安装好之后, ...
- ASP.NET Core采用Web Deploy方式发布到 Windows Server 2012 IIS上
小白一枚,租个服务器,发布下网站,满足下好奇心,讲的粗糙,请大家谅解哈~ 1.配置服务器环境.这部分网上教程比较多. (1)开启IIS,参考其他博客的,担心的话,将Web服务器(IIS)全选哈~ (2 ...
- SQL Server 2016中In-Memory OLTP继CTP3之后的新改进
SQL Server 2016中In-Memory OLTP继CTP3之后的新改进 转译自:https://blogs.msdn.microsoft.com/sqlserverstorageengin ...
- 翻译1-在SQL Server 2016中介绍微软R服务
在SQL Server 2016中介绍微软R服务 源自:http://www.sqlservercentral.com/articles/Microsoft/145393/ 作者:tomakatrun ...
- 【初码干货】【Azure系列】1、再次感受Azure,体验Windows Server 2016并部署BlogEngine.NET
上个月末,在某人的建议下,重新注册了一个1元试用账户(包含1个月期限的1500元订阅),并充值了1000元转为了正式账户,相当于1000元得到了2500的订阅,于是又一次开启了Azure之旅. 在这不 ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- 初码-Azure系列-如何在控制面板中选择中文版操作系统
之前在文章<初码-Azure系列-记一次从阿里云到Azure的迁移和部署>中说到,默认的Windows Server 2016操作系统是英文版,后来摸索出中文版的方法,如下:
- Window server 2016 搭建Java Web环境
系统下载 下载种子(迅雷下载): ed2k://|file|cn_windows_server_2016_updated_feb_2018_x64_dvd_11636703.iso|629426585 ...
- 【初码干货】记一次分布式B站爬虫任务系统的完整设计和实施
[初码文章推荐] 程序员的自我修养 Azure系列文章 阿里云系列文章 爬虫系列文章 [初码产品推荐] AlphaMS开发模式 闪送达城市中央厨房 今天带来一个有意思的东西-分布式B站爬虫任务系统 这 ...
随机推荐
- MIP改造常见问题二十问
在MIP推出后,我们收到了很多站长的疑问和顾虑.我们将所有疑问和顾虑归纳为以下二十个问题,希望对大家理解 MIP 有帮助. 1.MIP 化后对其他搜索引擎抓取收录以及 SEO 的影响如何? 答:在原页 ...
- .NET Core中间件的注册和管道的构建(1)---- 注册和构建原理
.NET Core中间件的注册和管道的构建(1)---- 注册和构建原理 0x00 问题的产生 管道是.NET Core中非常关键的一个概念,很多重要的组件都以中间件的形式存在,包括权限管理.会话管理 ...
- Mysql事务探索及其在Django中的实践(一)
前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...
- 使用 JavaScript 和 canvas 做精确的像素碰撞检测
原文地址:Pixel accurate collision detection with Javascript and Canvas 译者:nzbin 我正在开发一个需要再次使用碰撞检测的游戏.我通常 ...
- C#如何在PDF文件添加图片印章
文档中添加印章可以起一定的作用,比如,防止文件随意被使用,或者确保文档内容的安全性和权威性.C#添加图片印章其实也有很多实现方法,这里我使用的是免费的第三方软件Free Spire.PDF,向大家阐述 ...
- PHP获取上个月最后一天的一个容易忽略的问题
正常来说,PHP是有一个很方便的函数可以获取上个月时间的 strtotime (PHP 4, PHP 5, PHP 7) strtotime - 将任何英文文本的日期时间描述解析为 Unix 时间戳 ...
- MongoDB系列(二):C#应用
前言 上一篇文章<MongoDB系列(一):简介及安装>已经介绍了MongoDB以及其在window环境下的安装,这篇文章主要讲讲如何用C#来与MongoDB进行通讯.再次强调一下,我使用 ...
- js参数arguments的理解
原文地址:js参数arguments的理解 对于函数的参数而言,如下例子 function say(name, msg){ alert(name + 'say' + msg); } say('xiao ...
- RSA算法
RSA.h #ifndef _RSA_H #define _RSA_H #include<stdio.h> #include<iostream> #include<mat ...
- linux服务器开发一 基础
注:本文仅限交流使用,请务用于商业用途,否则后果自负! Linux 1.Linux介绍 Linux是类Unix计算机操作系统的统称. Linux操作系统的内核的名字也是“Linux”. Linux这个 ...