当我将 up 发布到 IIS 后,当我尝试访问它时,出现错误:
暂停服务
http错误503服务不可用。
接下来我应该做什么?
我使用 Windows Server 2008(64 位)和 IIS 8.5。该应用程序是Web api .NET CORE 2.2.1。
在我安装的 Windows 机器上:
- Microsoft .NET CORE 2.2.1 - Windows Server 托管
- Microsoft .NET CORE 运行时 - 2.2.1(x64)
- Microsoft .NET CORE 运行时 - 2.2.1(x86)
- Microsoft Visual C++ 2015 可再发行组件 (x86) - 14.024212
- Microsoft Visual C++ 2015 可再发行组件 (x64) - 14.024123
- Microsoft Visual C++ 2008 可再发行组件 - x86 - 9.0.30729.4148
- Microsoft Visual C++ 2008 可再发行组件 - x64 - 9.0.30729.6161
我在视觉工作室出版了一份出版物。在模块上的 IIS 中,我有 AspNetCoreModuleV2。
我有的网络配置文件:
<?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=".\App.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 9d04b7be-318b-4e95-aae3-c47aab07db30-->
CreateWebHostBuilder 方法中的代码:
return WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>().UseSerilog((ctx, cfg) =>
{
cfg.ReadFrom.Configuration(ctx.Configuration)
.MinimumLevel.Verbose()
.MinimumLevel.Override("Microsoft", LogEventLevel.Information);
});
您可以检查以下步骤来检测问题。
- 确保安装了.net core运行时和AspNetCoreModule并且安装后操作系统重新启动.
- 确保您的应用程序池 .Net Framework 版本在 iis 上为“无托管代码”。
- 确保您的应用程序正确预热。 (在应用程序所在的目录中打开命令提示符。键入
dotnet yourapp.dll
然后按 Enter 键。)
-
如果您的应用程序在 IIS 下运行并且设置了与 https 的绑定,则在运行时需要指定一个带有与其关联的 SSL 证书的 urldotnet yourapp.dll
默认情况下,如果您未在 Program.cs 上指定对 UseUrls 的调用,它将在 localhost 上运行。然后你可以打电话给你的dotnet yourapp.dll
它会起作用的
var 主机 = 新的 WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup()
.UseUrls("http://mywebsite.com http://mywebsite.com”)
。建造();
如果应用程序使用 dotnet 命令正确启动,请检查日志文件位置的访问级别(“.\logs\stdout”)。要为应用程序池用户提供读写能力,请执行以下步骤https://stackoverflow.com/a/7334485/4172872 https://stackoverflow.com/a/7334485/4172872
UPDATE:
应用程序的扩展名真的是“.exe”吗?
<aspNetCore processPath=".\App.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="InProcess" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)