请选择 进入手机版 | 继续访问电脑版
MSIPO技术圈 首页 IT技术 查看内容

.net core 2.1 简单部署IIS运行

2023-07-13

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

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

 按照步骤走:

一、确认自己的netcore环境

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

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

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

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

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

我是2.1点进去然后进入下页

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

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

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

二、发布netcore并部署iis

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

2、然后添加iis站点

  

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

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

如果打开模块报错,如:

说明你的web.config 的格式报错。请按照下面配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <location path="." inheritInChildApplications="false">
        <system.webServer>
            <handlers>
                <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
            </handlers>
            <aspNetCore processPath="dotnet" arguments=".\Urs.Shop.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />
        </system.webServer>
    </location>
</configuration>

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

stdoutLogEnabled     是否生成日志

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

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

 5、就可以浏览程序了

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

 

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

我遇到的问题:

1、

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

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

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

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

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

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

相关阅读

热门文章

    手机版|MSIPO技术圈 皖ICP备19022944号-2

    Copyright © 2024, msipo.com

    返回顶部