2021-03-22 乐帮网
iis netcore
新建一个.Net Core Web项目,可以是MVC的,也可以是Pages的,部署步骤也一样。下面我建了一个项目名称是:netcore.demo.mvcweb。
本次没有做额外的开发,只是默认项目代码,首先我们发布项目,右键项目发布,然后目标我们选择文件夹,其它的都是默认选项。选择完成后记得点击右上角的发布按钮完成发布操作。例如我发布后的路径是:D:\Demos\netcore.demo\netcore.demo.mvcweb\bin\Release\netcoreapp3.1\publish
完成后以上的程序准备工作后下面开始我们的IIS部署工作。部署前服务器环境需要你做的事情有以下三点(SDK 包含运行时,服务器上只需要安装运行时)
* 确认是否已经安装.Net Core 对应的SDK (如何你是开发机,可能早已经装好了,运行时也可不必安装 了)
* 确认是否已经安装.Net Core运行时,可直接下载安装 :https://dotnet.microsoft.com/download
* 安装IIS托管模块,下载链接可以从这里找到:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/publish-to-iis?view=aspnetcore-3.1&tabs=visual-studio
(1)新建net core应用程序池
同时按下windows键+R 召唤出运行小窗口然后输入 inetmgr 打开IIS管理工具。找到应用程序池右键添加,或者找到添加按钮进行添加。名称:netcore ,.NET CLR版本选择 无托管代码 托管管道模式随便,因为这个选择在net core程序中用不到了。如下图:
(2)新建站点
在我们默认的站点下面添加应用程序, Default Web Site 右键 ->添加应用程序... 分别填写 别名 :netcoredemo 应用程序池选择我们上一步新建的netcore 物理路径填写 我们的发布路径:D:\Demos\netcore.demo\netcore.demo.mvcweb\bin\Release\netcoreapp3.1\publish
最后点击确定按钮,完成新建。
(3)添加配置文件
理论上net core 已经不需要 config文件了,但是要是部署在iis下,这个还需要告诉 IIS托管启动的入口和参数。在项目的根目录添加一个web.config文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath=".\netcore.demo.mvcweb.exe" arguments="" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" >
<environmentVariables>
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
<environmentVariable name="COMPLUS_ForceENC" value="1" />
</environmentVariables>
</aspNetCore>
</system.webServer>
</location>
</configuration>
注意 netcore.demo.mvcweb.exe 文件换成你自己的项目名称的exe文件。这个exe在linux下没有用处,是微软特地为在windows下预留的。添加配置完成后记得重新发布一下项目。
我们在IIS管理器内点击浏览,就可以看到我们熟悉的页面了。
lebang2020.cn出品。
关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com
庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。
如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力