.net core 使用IIS作为宿主Web服务器,部署常见问题

时间:2022-12-29 18:10:14

ASP.NET Core 使用IIS作为Web服务器,部署在IIS上

所做的步骤部署完毕后,启动网站

出现

An error occurred while starting the application.

.NET Core X64 v4.1.1.0    |   Microsoft.AspNetCore.Hosting version 1.1.0-rtm-22752    |    Microsoft Windows 6.3.9600

解决方案

在网站根目录下新建logs文件夹,再次启动网站,系统会把报错信息下入logs文件夹的日志中去

.net core 使用IIS作为宿主Web服务器,部署常见问题

可以查看日志的错误信息

进程模型

用户 'IIS APPPOOL\***' 登录失败

网站对应的应用程序池:高级设置,看到有一个节点叫“进程模型”,修改标示一项,为LocalSystem。

.net core 使用IIS作为宿主Web服务器,部署常见问题

关于默认的LocalSystem 和 ApplicationPoolIdentity的区别,详见https://www.cnblogs.com/zgqys1980/p/3862815.html

 

System.Data.SqlClient.SqlException (0x80131904)

无法打开登录所请求的数据库 "IdentityServer4_Demo"。登录失败。

用户 'NT AUTHORITY\SYSTEM' 登录失败。

如果我们使用了sqlserver数据库,应用程序默认会使用数据库中的"NT AUTHORITY\SYSTEM"这个帐号进行登录

解决方案:

 

我的电脑-->右键-->管理-->本地用户和组
选择“组”-->双击Administrators-->单击“添加”-->单击“高级”-->单击“立即查找”-->在下面的列表中选择Network Service用户-->两次单击“确定”-->加入。

 

给予NT AUTHORITY\SYSTEM权限,使用windows验证方式登录数据库后->安全性->登录名,找到该登录名

右键修改,选择服务器角色,授予该登录名sysadmin这个角色。

.net core 使用IIS作为宿主Web服务器,部署常见问题

 

至此,问题解决。