• 【初码干货】在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平台组件

    image

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

    image

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

    image

    image

    image

    image

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

    image

    image[36]

    image

    image

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

    image

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

    image

    image

    image

    image

    image

    image

    image

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

    image

    image

    image

    image

    image

    这里只列举一个 backupSettings的配置,其他的3个大家依葫芦画瓢就可以了

    7、添加一个IIS管理用户

    image

    image

    image

    7、配置防火墙

    我们可以看到,WebDeploy服务的默认服务端口是8172

    image[176]

    因此要在入口规则中添加一个8172端口的入站规则

    默认WebDeploy程序会添加防火墙例外处理,但是如果还是不行,则需要手工添加一下的。

    好了,到目前为止,Web Deploy的配置,就大功告成了,一定要重启服务器

     

    下面还需要进行测试(接着看,不要走,测试里面有一步权限配置非常重要)

    1、新建一个IIS站点

    image

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

    image

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

    image

    image

     

    image

    这里有个指的注意的,IIS支持子站点的详细权限配置,如有有子应用,可以进行类似的配置

     

    3、在Visual Studio 2015里面新建一个asp.net web applicaiton空项目,进行测试

    image

    image

    新建一个网页

    image

    4、测试发布

    image

    image

    image

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

    WebDeploy测试/子站点

    image

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

    image

    最后点发布,会出现记录

    image

    好了,看一下效果 http://webdeploytest.printhelloworld.com/


    作者:张柔,发布于  博客园  与  张柔的博客

    转载请注明出处,欢迎邮件交流:zhangrou@printhelloworld.com,或者加QQ群:11444444

  • 相关阅读:
    系列文章--突袭HTML5之Javascript
    arguments对象的实例使用
    Javascript常用的设计模式详解
    javascript日历插件
    系列文章--AJAX技术系列总结
    零基础汇编学习笔记
    VC++6.0注释快捷键的添加使用
    VC6++常用快捷键
    汇编题目:编写包含多个功能子程序的中断例程
    汇编题目:按A键,当松开的时显示字母A
  • 原文地址:https://www.cnblogs.com/chuma/p/6143502.html
Copyright © 2020-2023  润新知