.net core 2.1 简单部署IIS运行

netcore的项目不像netFramework那么方便部署到iis还是要费点功夫的

比如我想把这个netcore2.1的项目部署到iis并运行:

.net core 2.1 简单部署IIS运行_第1张图片

 按照步骤走:

一、确认自己的netcore环境

1、需要安装下面3个环境包(如果电脑已安装请忽略)

检查是否安装cmd命令:cmd:dotnet --info

或者直接去控制面板的程序查看,一般这四个是挨在一起的(安装后这里会显示四个)

.net core 2.1 简单部署IIS运行_第2张图片

 如果没有安装请去官网下载自己项目对应的相应版本

地址:.NET Downloads (Linux, macOS, and Windows) (microsoft.com)

.net core 2.1 简单部署IIS运行_第3张图片我是2.1点进去然后进入下页

.net core 2.1 简单部署IIS运行_第4张图片

.net core 2.1 简单部署IIS运行_第5张图片

这三个都要点击下载并安装。(注意:sdk与另外两个包的版本号是不一致的,这个没事,

安装很简单傻瓜式安装即可)

 第一个是netcore运行时、第二个是netcore的iis的托管捆绑包、第三个是netcore的sdk

二、发布netcore并部署iis

1、选择文件夹发布,添加完发布配置直接发布即可

.net core 2.1 简单部署IIS运行_第6张图片

2、然后添加iis站点

.net core 2.1 简单部署IIS运行_第7张图片  

 3、添加站点之后查看模块

.net core 2.1 简单部署IIS运行_第8张图片

打开模块看到是否有:AspNetCoreModule,这个东西是安装了托管捆绑包之后才会有,没有不行说明第一步的环境没有装好。

如果打开模块报错,如:

.net core 2.1 简单部署IIS运行_第9张图片说明你的web.config 的格式报错。请按照下面配置:



    
        
            
                
            

            
        

    

arguments    是项目启动站点的dll文件

stdoutLogEnabled     是否生成日志

stdoutLogFile    生成日志的地址,需要注意的是,logs的文件夹需要手动创建!!!

4、添加完之后应用程序池修改为无托管代码!

.net core 2.1 简单部署IIS运行_第10张图片

 5、就可以浏览程序了

.net core 2.1 简单部署IIS运行_第11张图片

可能会出现程序的错,那么检查你的程序是否报错,一般是去输出的logs查看日志。

 .net core 2.1 简单部署IIS运行_第12张图片

 我这是报了个mysql的异常,因为我服务器上还没安装mysql呢,根据日志排错就可完成

.net core 2.1 简单部署IIS运行_第13张图片

我遇到的问题:

1、.net core 2.1 简单部署IIS运行_第14张图片

 浏览时候报这个错,大概可以看出是iis用户权限的问题

 解决办法:标识默认是ApplicationPoolIdentity请修改为LocalSystem即可

.net core 2.1 简单部署IIS运行_第15张图片

2、这个是程序报错,只能看你的代码或者配置是否有问题,可以看log输出的日志定位问题

.net core 2.1 简单部署IIS运行_第16张图片

3、安装环境的时候注意是否对应自己的项目netcore版本号。

比如说一开始的环境是.NET7的SDK,但是你还有个NETCore2.1的项目,那你就得新安装2.1的sdk、runtime、托管捆绑包即可,不会与net7冲突。

4、发布后的文件可能会丢失一些xml或者json的配置文件,可以自己对比源项目检查一下

你可能感兴趣的:(c#,.netcore)