使用VS 2019发布.net core程序并部署到IIS的最新教程
不管你是使用.net core开发的是web api还是网站类的程序,如果你是部署到IIS,那么下面的内容都适合于你,不会将.net core程序部署到IIS的朋友,可以看看这篇手把手教你部署.net core程序的教程。
将.net core程序部署到IIS总体需要经过以下3个大步骤,其中在IIS上配置网站有些比较繁琐,我都会逐一给出详细步骤。
安装IIS和.net core运行时程序
部署.net core程序首先要确保你服务器上的IIS环境要安装好,不知道怎样在服务器上安装IIS,请先自行搜索一下;确保IIS安装好了后,还需要安装.net core的运行时,运行时的程序文件可以在官网下载最新版本安装,点击这里直达官网下载运行时。
安装好了后,如果你在IIS上模块里面看到AspNetCoreModule,表示安装成功。
进入IIS后,先点左侧你的服务器上IIS名称,然后会出现上图右边所示的模块,点击进就会在下图右侧出现IIS上众多的模块,当你安装了运行时后,就会出现 AspNetCoreModule 这个东东,表示安装成功,已经具备在IIS上运行.net core程序的环境了。
基本环境配置好了后,下面该发布.net core 程序了。
以文件的形式发布.net core程序到指定目录
将.net core程序部署到IIS上,可以做到一键部署,即使在远程服务器上也是可以做到一键部署,这方面的文章我在去年写了这篇通过VS2017发布.net core程序并使用Web 部署到远程服务器最新教程的文章,感兴趣的朋友可以看看。
VS2019发布.net core程序提供了5种方式,本文为了演示目的就以文件的形式发布.net core程序到指定目录的方式来说明发布过程。打开你的.net core程序解决方案,在.net core程序上右键,点发布,如下图所示:
点击发布(Publish)后 会出现下面的选择设置框,然后根据你的需要设置好保存目录即可,这里选择Folder
发布成功后会有如下提示:
发布成功后,找到这个目录,将其打包上传到服务器上,本文这儿纯演示,就直接在本机操作,就略过了复制文件到安装了IIS的服务器上的步骤。
IIS上面建立网并配置好网站设置
这步操作一般是在远程服务器上操作,本文演示,就直接在本地环境搞了。
IIS上建立网站
在IIS上建立网站,需要提前将发布文件复制到服务器的随意目录,不一定要放在C盘的wwwroot目录,你可以放在任意位置。在服务器上打开IIS,为了方便,你可以在服务器上建立一个IIS的快捷方式,不会建请自行google。
(1)在IIS左侧管理界面,看到网站,直接右键,添加网站
右键添加网站后,会出现下面的添加网站界面,设置好网站名称,我一般习惯性的命名为域名的名称,如你申请的域名是 www.ccav.com,则设置名称为www.ccav.com。物理路径就是上传到服务器上的发布文件保存的目录,本机演示上文指定的是C盘,ccav.com目录,指向它即可。主机名可以设置为域名,IP地址,设置为域名前提需要你的域名解析了才行,不然访问不了;还有一种方式就是修改host文件的方式,下文会讲到。主机名可以在添加网站后修改,意思就是可以修改绑定的域名。
(2)修改应用程序池为无托管代码
在上面步骤添加网站完毕后,会自动创建和网站名称相同的应用程序池,通俗来说应用程序池就是服务器分配给网站的一个资源集合,管理着网站的内存,进程等内容,如你的网站使用了缓存,缓存分配的内存也是受应用程序池管理的,应用程序池一回收,缓存就全部失效。所以一般的做法都是使用分布式缓存,如memcahe或才redis。所以在asp.net 时代,网站慢了时,重启大法很好用也是这个道理。
如果你的程序要和数据库打交道,数据库和网站没有分开时,则还要修改应用程序标识,在应用程序池上右键–>高级设置,弹出的窗口上面修改即可。
在打开的高级设置窗口里面,有很多设置项,不懂的别乱整,感兴趣的,可以自行研究。但对于.net core程序来说,连了数据库最有可能修改的就是高级设置里面的标识项,标识设置就是给应用程序相应访问数据库、执行文件读写的权限等。
(3)修改host文件设置(非必须操作)
因为在上面的操作中,我将主机名设置为了www.ccav.com,在完成了本节点第2个步骤后,你就去打开网站浏览肯定是打不开的,除非在上面的操作中,你指定的主机名是IP地址,然后在浏览器中,通过输入IP地址的方式来打开,这样是可以正常访问到你的网站的,如果指定的是IP地址,当前操作就可以省略掉。
在指定主机名是,使用一个域名的方式,更接近于真实环境的访问,可以发现很多你使用IP地址不能发现的问题。
修改host文件操作过程如下:
你可以通过运行命令直接打开host文件:
host文件所在目录是: c:\Windows\System32\drivers\etc\hosts ,然后使用记事本打开修改即可,修改后的host文件如下:
重要提示:修改后如果不能保存,说明你没有管理员权限,请先给你windows账号设置为管理员权限,如下图所示:
(4)打开网站浏览一下
经过上面的一系列设置,就已经完成了将 .net core程序部署到IIS的所有步骤,你可以在浏览览器里面输入IP地址或者域名(主机名指定为域名)的形式,能正常打开则表明部署成功。
后记
如果部署时,指定的是域名,但那个域名不是你的或者你们公司的,或者也没有解析,我们可以通过修改host的方式来实现使用域名来访问;在局域网内,或者测试环境下,其他人要访问你的网站,也只需要修改一下host文件即可,添加一条记录,将IP地址指向服务器地址,然后就可以通过输入域名的方式来打开所部署的网站了。
原文链接:https://jhrs.com/2019/32202.html
使用VS 2019发布.net core程序并部署到IIS的最新教程的更多相关文章
- 来个干货——使用VS2019发布.NET Core程序并部署到IIS的最新教程
使用VS2019发布.NET Core程序并部署到IIS,不管你是使用.NET Core开发的是Web API还是网站类的程序,如果你是部署到IIS,那么下面的内容都适合于你,不会将.NET Core ...
- ASP.NET MVC - 发布web应用程序、部署到IIS
发布项目 右击项目 - 发布 选择IIS - 点击发布 发布方法 - 文件系统,目标位置 - 选择与项目所在目录不同的目录(也即,指定一个发布生成文件的目录),文件发布选项 - 不选 - 点击发布 安 ...
- 通过VS2017发布.net core程序并使用Web 部署到远程服务器最新教程
最近一个项目中,为App开发后台接口,技术选型为最新 .net core版本,使用.net core开发web api接口过程中,为了方便app团队成员直接在线调用接口,找了公网上的一台服务器做为ap ...
- 关于.net core程序的部署
最近发布.net core程序的时候,发现它是可以独立部署的,它支持如下两种部署方式: 依赖框架的部署FDD.只发布我们的程序,运行前用户需要手动安装.net core runtime. 独立部署SC ...
- 运行Vue在ASP.NET Core应用程序并部署在IIS上
前言 项目一直用的ASP.NET Core,但是呢我对ASP.NET Core一些原理也还未开始研究,仅限于会用,不过园子中已有大量文章存在,借着有点空余时间,我们来讲讲如何利用ASP.NET Cor ...
- 手把手教你用Jenkins自动发布dotnet core程序
Jenkins部分 首先,我们要有个Jenkins咯,下载链接:https://jenkins.io/download/ 我们安装官网教程安装好jenkins,安装教程略.... 嗯?不是说好手把手么 ...
- 把Asp.net Core程序代码部署到Ubuntu(不含数据库)
今天记录一下第一次把.net core 程序发布到linux系统.linux用的是ubuntu Server 18.04版本.运行的IDE是vs 2019,发布出来是.net core 2.2版本. ...
- .Net Core程序的部署(FDD与SCD)
最近打算做一个公司的代码走查工具,思前想后觉得正好可以当作一个Core的实践机会,于是上官网看了下资料,顺便作了一下笔记方便以后查阅. 注1:这里的Core程序部署指的是.Net Core而非Asp. ...
- ASP.NET Core开发期间部署到IIS自定义主机域名并附加进程调试
在.NET Framework环境下,我们经常会这么做 把一个web项目不经过发布直接部署到IIS里去,配置上主机名,修改一下hosts文件,就可以用自定义的域名来访问我们的应用程序,使用附加到进程( ...
随机推荐
- MapReduce-WordCountDemo
/** * @Author: dreamer Q * @Date: 2019/11/4 22:26 * @Version 1.0 * @Discription 使用MapReduce 开发 WordC ...
- C#使用Process启动exe程序,不弹出控制台窗口的方法
背景:使用wkhtmltopdf工具将html转换成pdf时,这个工具在进行转换时会弹出命令行窗口显示转换过程,但是在项目运行时弹出服务器突然弹出控制台窗口会很奇怪,尤其是当转换多个时.解决这个问题 ...
- __kindof的用法
简介: _kindof是苹果声明的一个新特性 使用方法如下: 正常我们声明一个属性: @property (nonatomic,strong) NSArray *viewArray; 看属性我们知道v ...
- 在Intellij上开发项目发布到tomcat时,同一个局域网内的其他机子访问不到自己电脑上tomcat中的项目,只能本机访问
在Intellij上开发项目发布到tomcat时,同一个局域网内的其他机子访问不到自己电脑上tomcat中的项目,只能本机访问 问题描述:在Intellij上开发项目发布到tomcat时,同一个局域网 ...
- hdu1257最少拦截系统 贪心
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1257 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽 然它的第 ...
- jquery 小知识
$("p:eq(0)") :表p标签的第一个元素 $("p:eq(1)") :表p标签的第二个元素
- 明明不太合适但是还是被用在配置文件和数据传输上的XML
XML概述: 概念: 可扩展的标记语言. 功能: 作为数据本地存储的格式.(已淘汰)作为结构化存储的方式,不如数据库效率高.目前一部分移动设备中还在使用. 作为网络中传输数据的格式.(已淘汰)作为网络 ...
- php pow()函数 语法
php pow()函数 语法 作用:pow()函数的作用是将一个数进行n次方计算后返回,广东大理石平台 语法:pow(X,Y); 参数: 参数 描述 X 要做处理的数字 Y 指定n次方中的n数值 说明 ...
- HDU - 6621 K-th Closest Distance 主席树+二分答案
K-th Closest Distance 主席树第二波~ 题意 给你\(n\)个数\(m\)个询问,问\(i\in [l,r]\)计算每一个\(|a_{i}-p|\)求出第\(k\)小 题目要求强制 ...
- UOJ 450 【集训队作业2018】复读机——单位根反演
题目:http://uoj.ac/problem/450 重要式子: \( e^x = \sum\limits_{i=0}^{\infty} \frac{x^i}{i!} \) \( ( e^{a*x ...