VS使用WEB DEPLOY发布.NET Core程序

 

背景是这样的,公司有两台服务器,平时一台备用,另一台做为主生产机器。当有大量补丁或者安装什么东西需要重启的时候,交其中一台直接关掉IIS,然后重启即可,此时另一台负责处理用户请求。

之前一台服务器一个网站的时候,发布都是远程上去,然后复制开发机器pubish目录下的文件过去。这种情况有几个弊端:

  1. 每次复制过去的文件量巨大。
  2. web.config难以把控,虽然使用Release和Debug来控制连接字符串,但是,必然不如web.config来得正规。
  3. 每次要登陆远程机器,有时候剪切板无法共享,需要使用驱动器共享来复制文件,然后还要解压之类的操作。容易出现问题。

使用web deploy发布的话,带来了哪些改变:

  1. 不再需要远程登陆服务器,减少出错机率。多台服务器发布时效率高。
  2. 文件量明显减少。
  3. 控制vs在发布前都提交一个svn版本,使用svn作为备份,下次出问题时,只需要回滚到上一个版本,然后进行发布即可。
  4. 多个网站操作方便,不需要多个文件夹来回切换。
  5. 不知道是不是错觉,我感觉发布的速度快很多。

使用的方法

环境需要:

  1. web platform installer。(WEB PI,其实是用来安装web deploy用的,但是我没用,我直接在官网下载的)
  2. 安装【管理服务】
  3. 安装web deploy。

操作:

    1. 如果有WEB PI,则直接使用它先安装最新版WEB DEPLOY(本文使用WEB DEPLOY3.6)。
    2. 如果没有WEB PI,或者不想用它安装,就直接搜索微软官网的WEB DEPLOY,然后分别安装。
    3. 检测系统【服务】中的[Web Management Service]有没有打开,没有打开的话,请打开。
    4. 在IIS中,选择服务器结点,然后在内容里面打开【管理服务】,右边操作栏里面停止服务,把【启用远程连接】前面复选框选上。然后选在下面的使用windows凭据或IIS用户。点右边的应用,然后启动服务。
    5. 选中你要发布的网站的站点节点,在内容里面打开【IIS管理器权限】,进入之后,右击鼠标,选【允许用户】,然后可以输入IIS用户,也可以输入windows的用户。这个用户将在vs里面被作为远程发布的凭证。
    6. 打开vs,右击项目名,点发布,输入刚刚那台服务器的IP地址,输入用户名和密码,在【站点名称】的地点输入服务器中对应网站的网站名称,如果是虚拟目录的二级站点,请将名称用/隔开。
    7. 然后点击vs发布中的【验证连接】,如果成功,则ok。不成功,自行查找问题。
    8. 补充.NET Core发布在配置完成之后发布提示ERROR_CERTIFICATE_VALIDATION_FAILED错误,解决方法:
      1. 打开Properties/PublishProfiles/xxx.pubxml文件
      2. 在PropertyGroup节点内加入<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
      3. 保存后重新发布

.NET Core在WindowsServer服务器部署及发布的更多相关文章

  1. Windows 服务器部署 asp.net core

    踩坑日记与 Windows 服务器部署 asp.net core 指南. 准备 操作系统:Windows Server 2008 R2 或更高版本 文件: Microsoft Visual C++ 2 ...

  2. Powered by .NET Core 进展:第5次发布尝试(Windows部署)

    (图注:Windows 自带的性能监控,红色表示 CPU 占用,绿色表示 QPS) 今天中午 12:30 左右,我们进行了 .NET Core 博客站点的第5次发布(页脚会显示"Powere ...

  3. Linux服务器部署.Net Core笔记:目录

        目录 Linux服务器部署.Net Core笔记:一.开启ssh服务 Linux服务器部署.Net Core笔记:二.安装FTP Linux服务器部署.Net Core笔记:三.安装.NetC ...

  4. Asp.net Core 项目API接口服务器部署

    Windows server 2008服务器部署: DotNetCore.1.0.0.RC2-WindowsHosting 或者DotNetCore.1.0.5_1.1.2-WindowsHostin ...

  5. ASP.NET Core ASP.NET Core+MVC搭建及部署

    ASP.NET Core+MVC搭建及部署 一.创建项目: 1.选择ASP.NET Core Web Application(.NET Core) 注意框架 2.选择Web Application: ...

  6. 基于.NET Core开发的个人博客发布至CentOS小计

    早些时候,使用 .NET Framework 开发网站,只能部署在 Windows 服务器上面,近两年 .NET Core 如火如荼,乘此机会赶紧上车,最近将自己利用 .NET Core 开发的个人博 ...

  7. 庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群

    庐山真面目之十微服务架构 Net Core 基于 Docker 容器部署 Nginx 集群 一.简介      前面的两篇文章,我们已经介绍了Net Core项目基于Docker容器部署在Linux服 ...

  8. 分享阿里云推荐码 IC1L2A,购买服务器可以直接打9折,另附阿里云服务器部署ASP.NET MVC5关键教程

    阿里云推荐码为:IC1L2A 阿里云还是不错滴. 以windows server 2008 R2为例,介绍如何从全新的服务器部署MVC5 站点. 新购买的阿里云服务器是没有IIS的,要安装IIS: 控 ...

  9. 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布

    一个技术汪的开源梦 —— 目录 微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 ...

随机推荐

  1. 解决KVM中鼠标不同步问题

    VNCViewer中的鼠标走得总是比本地系统中的鼠标要慢,不同步,往往实体机中的鼠标都移出vnc窗口外边了,虚拟机中的鼠标指针还没移到需要点击的位置,操作起来很不方便. 起初的想法也是配置的问题,就按 ...

  2. iOS开发——打开手机相册,获取图片

    1.添加代理UIImagePickerControllerDelegate 2.设置点击跳转事件 - (IBAction)picButton:(UIButton *)sender { NSLog(@& ...

  3. IP头,TCP头,UDP头,MAC帧头定义(转)

    源:IP头,TCP头,UDP头,MAC帧头定义 一.MAC帧头定义 /*数据帧定义,头14个字节,尾4个字节*/ typedef struct _MAC_FRAME_HEADER { ]; //目的m ...

  4. Dom编程(二)

    document是window对象的一个属性,因为使用window对象成员的时候可以省略window.,所以一般直接写document  document的方法: (1)write:向文档中写入内容. ...

  5. ServiceStack.Redis 使用链接池方法

    PooledRedisClientManager 1.RedisManage.cs public static class RedisManager { private static PooledRe ...

  6. IOC:AutoFac使用demo

    使用autofac 实现依赖注入 1.引用 autofac.dll 和 autofac.configuration.dll 2.新增接口 IDAL using System; using System ...

  7. bzoj1121

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1121 题解: 神题啊,妈的不会写的都去吃屎吧.

  8. Webx MVC分析(转)

    Webx框架:http://openwebx.org/ petstore:webx3/webx-sample/petstore/tags/3.0/petstore 编译之后:mvn jetty:run ...

  9. IE6下完美兼容css3圆角和阴影属性的htc插件PIE.htc

    1.(推荐:)css插件PIE.htc,这个才是真正完美兼容css3的圆角和阴影属性在IE6环境下使用的效果,但要注意的是:下面的代码必须写在html文件的head标签内,否则无效(不能从外部引用下面 ...

  10. iOS 之 KVC KVO

    KVC:键值编码,是一种间接访问对象实例变量的机制,可以不通过存取方法(getter setter)就可以访问实例变量. KVO: 属性变化的通知机制