IIS上asp.net网站启动不了,错误如下图:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS上asp.net网站启动不了,错误如下图:相关的知识,希望对你有一定的参考价值。
不好意啊 ,各位!我的财富值不够只能给5分啊!
参考技术A 此服务器的TCP 80端口已打开。一般情况下,可能是有另一个WEB服务已启动,它打开了80端口,另一种可能就是某个软件打开了80端口。你用端口查看软件查找一下哪个TCP占用了端口,停止进程,然后重启IIS,然后查一下只要80端口的没打开就没问题了 参考技术B 端口冲突,,,
你检查一下你这个站的端口是用什么端口,再检查一下这端口是什么软件在用。。。 参考技术C 80端口占用了,把defualt关闭本回答被提问者采纳
iis上部署的asp.net核心应用遇到500内部服务器错误
【中文标题】iis上部署的asp.net核心应用遇到500内部服务器错误【英文标题】:asp.net core app deployed on iis meets 500 internal server error 【发布时间】:2016-09-30 07:14:46 【问题描述】::( 哎呀。 500内部服务器错误 启动应用程序时出错。
当我将数据库功能添加到我的 asp.net 核心应用程序并将其部署到 iis 时出现此消息。当我在 Visual Studio 中开发它时,一切都很顺利。但是部署后,出现了这个错误信息。
我尝试使用dotnet myapp.dll
在部署文件夹中运行我的应用程序,发现它运行良好。问题很可能与iis有关。我尝试将<compilation debug="true">..</compilation>
添加到web.config,但似乎没用。实际上是什么问题,或者有没有其他方法可以查看详细的错误信息以帮助了解发生了什么?
【问题讨论】:
您是否在 web.config 中启用了<customErrors>
?
不,我应该启用它吗?
您是否在远程 IIS 服务器上安装了 ASP.NET Core 模块?如果没有,您应该这样做。
我已经安装好了。问题已经解决了。我按照@Set 的回答找到了指示 sqlserver 异常的日志。还是谢谢你们
【参考方案1】:
将 stdoutLogEnabled="false" 更改为 true,然后检查 stdoutLogFile=".\logs\stdout" 处的日志。那里的错误可能会告诉你一些事情。
检查您是否使用ASPNETCORE_ENVIRONMENT 环境变量设置了正确的环境名称,以便使用连接字符串等正确设置。默认情况下,在您的机器上,您有“开发”环境。
您可以使用Error Handling middlewares 来显示异常,例如
app.UseDeveloperExceptionPage();
【讨论】:
非常感谢。我发现了日志,原因是 sqlserver 异常。我到了应用程序池并将其设置为本地系统,一切正常!顺便说一句,我在 Visual Studio 中更新了 asp.net 核心工具并重新部署并发现错误页面中显示的错误消息,而不仅仅是500 server
。多么可怕!【参考方案2】:
有同样的问题。这是guide that helped me。请注意,我不想在 Web 服务器上安装“运行时”,而是将所有必要的文件部署为独立的应用程序。以下是更缩写形式的步骤:
在您的本地 PC 上,根据您的服务器确定要发布的版本。我的目标是 Windows Server 2008,R2,这意味着我需要发布 win7-x64
。在项目目录中打开命令提示符并运行以下命令:
dotnet 发布 -c 发布 -r win7-x64
这将创建一个包含数百个 dll、一个 .exe 和 web.config 的发布文件夹,位于此处:bin\Release\netcoreapp2.0\publish
在带有 IIS 的 Web 服务器上,转到 this landing page。单击所需版本的链接。找到 Runtime and Hosting Bundle 的链接。点击下载并运行。
通过从提升的命令提示符运行此命令来重新启动 IIS:
net stop was
net start w3svc
将本地发布文件夹中的所有文件复制到 IIS 服务器上所需的应用程序文件夹。
在服务器上,打开 IIS,并像往常一样创建单独的 AppPool 和应用程序。对于 AppPool,在 Basic Settings 下,将 .NET Framework 版本更改为 No Managed Code。确保 IIS 中的应用程序指向您想要的文件夹和正确的 AppPool。
在浏览器中测试您的 Web 应用程序。
【讨论】:
我正在使用 Visual Studio 提供的正常发布。而且,我刚刚发现使用最新版本的 Hosting Bundle 可以解决这个问题。对此microsoft.com/net/download/dotnet-core/runtime-2.1.0-rc1 +1 :)【参考方案3】:在我的情况下,我得到了这个,因为我实际上并没有在我运行它的 Windows 服务器上安装最新的“DotNetCore.2.0.0-WindowsHosting.exe”......所以它在我的本地运行良好机器在调试和服务器上的错误 5 hundy'ing。
我还有其他重要的问题来解决升级问题......如果可以的话,我建议避免它。
【讨论】:
我的 2 美分关注这个docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/…【参考方案4】:Mark333 下面的评论解决了我的问题。
引用方便阅读:
“我正在使用 Visual Studio 提供的正常发布。而且,我只是 发现使用最新版本的 Hosting Bundle 将修复 问题。对此 +1 microsoft.com/net/download/dotnet-core/runtime-2.1.0-rc1"
我必须安装 1.1,因为我的应用程序有点旧,但 Hosting Bundle 修复了它。在我的例子中,我们为官方环境部署到 Docker 映像,但是当我想在本地进行一些测试时,我会发布它并让我的本地 IIS 为其提供服务。
【讨论】:
【参考方案5】:安装 .netcore 解决了我的问题:https://dotnet.microsoft.com/download/thank-you/dotnet-runtime-2.2.2-windows-hosting-bundle-installer
https://docs.microsoft.com/pt-br/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-2.2#install-the-net-core-hosting-bundle
工作就像一个魅力!
【讨论】:
这正是我所需要的。非常感谢!【参考方案6】:我在一台 Windows 2008 R2 Standard 机器上安装了 DotNetCore.2.0.5-WindowsHosting.exe
并遇到了同样的 http 500 错误。日志记录没有帮助(生成了空白日志 - 事件查看器日志是通用的 ErrorCode = 0x80070002
)
我必须做两件事来解决我的问题:
-
为 ApplicationPoolIdentity 用户(例如:IIS APPPOOL\AppPoolIdentityName)授予网站目录和应用程序目录的读取权限
我不得不在服务器管理器下安装 IIS ASP Core(这感觉很奇怪,但确实有效!)
【讨论】:
只需要在 Core 2.2 上的 VS2017 中执行从基本发布到文件的第 1 步【参考方案7】:我遇到了同样的问题。
我的问题是我到 db 的连接字符串没有在 appsettings.production.json 中设置
内部服务器错误 500 是模糊的错误消息。
更改 stdoutLogEnabled = true 对我没有任何作用,所以我没有看到任何有关错误的信息。
【讨论】:
stdoutlog 也不适合我。你有没有想出任何其他的解决方案【参考方案8】:我遇到了这个问题。问题是由于我的本地 Sql Server 实例造成的。不允许远程连接。所以我手动重启了 SQL 实例,我的 App 重启就可以正常工作了。
【讨论】:
【参考方案9】:在进行 AWS ec2 实例引导时使用巧克力安装 dotnetcore-windowshosting 后,我遇到了类似的问题。
当我检查我的 IIS 模块时,缺少 AspNetCoreModule。
这解决了我的问题。 https://github.com/aspnet/IISIntegration/issues/434
我不得不卸载巧克力包,重新启动机器并重新安装。
希望这会有所帮助!
【讨论】:
【参考方案10】:确保应用程序池有权访问您的应用程序所在的文件夹。
【讨论】:
【参考方案11】:我强烈推荐一篇名为“配置 IIS、ASP.NET 和 SQL Server”的文章。 我按照那里描述的步骤操作,我的 asp.net 核心应用程序现在与我的 SQL 数据库通信(在发布到 IIS 之后):
https://www.codeproject.com/Articles/674930/Configuring-IIS-ASP-NET-and-SQL-Server
【讨论】:
【参考方案12】:在我的例子中,我创建了一个 .NET 5 单文件输出,我得到了:
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.
问题原来是 EXE 文件由于某种奇怪的原因被保护软件 (CrowdStrike Falcon) 识别为病毒。没有“单个文件输出”选项的重建解决了这个问题。
【讨论】:
以上是关于IIS上asp.net网站启动不了,错误如下图:的主要内容,如果未能解决你的问题,请参考以下文章
Windows安装IIS后,启动网站报错:不能在此路径中使用此配置节……
asp.net core发布到iis后出现An error occurred while starting the application
我在运行Asp.NET web应用程序时.建不了项目.提示说计算机上没有运行web服务器。请先启动web服务器
ASP.NET必须要依靠IIS这样的WEB服务器来运行,在asp.net中怎样运行呢?
求助:环境win2003 sp2+iis6.0+asp+asp.net2.0,死活访问不了ASP文件,html是可以访问的,详情见下面。