不管你是使用.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地址指向服务器地址,然后就可以通过输入域名的方式来打开所部署的网站了。