asp.net core 部署到IIS

因为工作需求,用.net core做的项目,现需发布到IIS上去。

     与asp.net不同,asp.net core不再由IIS工作进程w3wp.exe托管,因此需要确保IIS上已经安装AspNetCoreModule模块,请求通过此模块重定向到asp.net core项目中,因此我无需设置应用程序池来托管我们的代码,应用程序池应设置为无托管代码。

1、安装AspNetCoreModule模块

   确保已经安装模块,选中IIS左侧根节点,右侧出现如图如示:

asp.net core 部署到IIS_第1张图片

选中模块查看是否存在AspNetCoreModule,注意不同的机器显示的顺序不一样

下载地址:AspNetCoreModule,成功安装后,需用管理员权限打开命令行:

输入

net stop was /y

运行完再运行

net start w3svc

2、部署

创建网站,设置好网站地址及路径,网站会默认生成一应用程序池,选择应用程序池,设置为无托管代码

asp.net core 部署到IIS_第2张图片

运行,大功告成

3、排错

小编在配置好以上步骤后,访问没有成功报

asp.net core 部署到IIS_第3张图片

此错误提示对解决问题太笼统,不容易找到问题,因此需启用asp.net核心模块的stdout日志

(1)打开站点目录,创建logs文件夹

(2)在站点目录下找到web.config文件,将aspNetCore配置节的stdoutLogEnabled="true",stdoutLogFile=创建的logs文件夹路径

(3)保存更新的web.config文件

(4)向应用程序发出请求

(5)打开logs文件夹,查看日志,可以根据日志排查错误。注意:日志写入有延迟,如果没有日志文件,可稍等

 重要!根据微软提供的文档,在完成故障排除后禁用stdout日志记录。

 需重新将stdoutLogEnabled设置为false

 

 

 

你可能感兴趣的:(ASP.NET,MVC)