首页 > 代码库 > 【初码干货】在Window Server 2016中使用Web Deploy方式发布.NET Web应用的重新梳理

【初码干货】在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应用的重新梳理