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. iOS进阶

    著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:wjh2005链接:https://www.zhihu.com/question/28518265/answer/887505 ...

  2. IOS开发-OC学习-kvc,kvo

    kvc是用来方便的设置实例的属性值的,比如person类的实例p1有一个name的属性,那么我们可以通过kvc去设置p1的name,语法是: [ 对象 setValue:@"xiaming& ...

  3. Unity3D ——强大的跨平台3D游戏开发工具(三)

    第四章 为地形添加水源.水流以及水下的模糊效果 制作好了地形的各种效果,接下来我们给场景添加一些水效果,使场景更加丰富. 第一步:添加水面 由于我在上一次的地形创作中就已经在山峰之间制作了一块洼地,它 ...

  4. PHP获取当前类名、函数名、方法名

    PHP获取当前类名.方法名  __CLASS__ 获取当前类名  __FUNCTION__ 当前函数名(confirm)  __METHOD__ 当前方法名 (bankcard::confirm) _ ...

  5. BZOJ1478 Sgu282 Isomorphism

    Problem A: Sgu282 Isomorphism Time Limit: 15 Sec  Memory Limit: 64 MBSubmit: 172  Solved: 88[Submit] ...

  6. Poi2006 Palindromes

    2780: Poi2006 Palindromes Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 15  Solved: 5[Submit][Stat ...

  7. jfreechart图表汉字乱码问题解决方案

    系统工作迁移环境 linux centos 6.5 tomcat8 mysql5.6 系统部署上之后,所有的jfreechart图表上的汉字,全部乱码. 如图: 经分析: 1)数据库动态读出来的是正常 ...

  8. osx c++连接mysql

    最近想尝试一下使用c++连接mysql数据库.使用封装过后的mysql库mysql++访问mysql数据库更加简单,下述讲述的是如何在osx上搭建连接mysql的环境. 首先需要安装mysql++,感 ...

  9. prism silverlight

    转自  http://www.cnblogs.com/li-xiao/archive/2011/01/13/1934564.html   Prism简介 Prism是由微软Patterns & ...

  10. iOS 开源库 之 AFNetWorking 2.x

    1. 网络请求的基本知识 2. Get/Post 请求的使用 3. 文件(图片)上传 4. 断点下载 5. 其它使用细节 6. 设计优良的地方