使用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文件,就可以用自定义的域名来访问我们的应用程序,使用附加到进程( ...
随机推荐
- MySQL01---简介及安装
目录 MySQL简介及安装 DBA工作内容 DBA的职业素养 MySQL简介及安装 01 什么是数据? 02 什么是数据库管理系统 03 数据库管理系统种类 关系型数据库(RDMS)与非关系型数据库( ...
- 左上角小猫猫直达博主GitHub \-_-/
GitHub上有博主代码工程学习笔记啥的,由于推送比较方便所以有些学习笔记就没有上传到博客园
- Go copy 的使用
copy 可以将后面的 第2个切片的元素赋值copy 到第一个切片中 package main; import "fmt" func test () { s1 := []int{1 ...
- Codeforces 963E Alternating Sum 等比数列+逆元
题目大意: 看一下样例就明白了 基本思路: 题目中明确提到k为一个周期,稍作思考,把k项看作一项,然后发现这是个等比数列,q=(b/a)^k, 然后重点就是怎样处理等比数列求和表达式中的除法,这个时候 ...
- 前端每日实战:65# 视频演示如何用纯 CSS 创作一个摇摇晃晃的 loader
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览.https://codepen.io/comehope/pen/oyJvpe 可交互视频 此视频是可以 ...
- SPOJ7258 SUBLEX - Lexicographical Substring Search
传送门[洛谷] 心态崩了我有妹子 靠 我写的记忆化搜索 莫名WA了 然后心态崩了 当我正要改成bfs排序的时候 我灵光一动 md我写的i=0;i<25;i++??? 然后 改过来就A掉了T^T ...
- Oracle 行转列(pivot、wm_concat、decode)使用总结
CREATE TABLE CC (Student NVARCHAR2(2),Course NVARCHAR2(2),Score INT ); INSERT into CC select N'张三',N ...
- threeJS射线拾取机制及案例
前言 在浏览器中浏览三维图形的时候,有时想要与三维图形之间做一些点击事件和交互操作,其中比较常用的一个解决方案就是使用Raycaster对象来实现(射线拾取). 基础知识 世界坐标系:webGL中,世 ...
- Raspbian 在虚拟机上运行,运行Flask,供宿主机访问
Raspbian 在虚拟机上运行,启动Flask,供宿主机访问 参考ref 1, 在virtualbox上跑起来Raspbian OS 参考ref 2, 在Raspbian上安装并运行Falsk, 注 ...
- Struts2基础-3 -继承ActionSupport接口创建Action控制器+javaBean接收请求参数+ 默认Action配置处理请求错误 + 使用ActionContext访问ServletAPI
1.目录结构及导入的jar包 2.web.xml 配置 <?xml version="1.0" encoding="UTF-8"?> <web ...