iis中的一个站总是挂掉应该如何解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iis中的一个站总是挂掉应该如何解决相关的知识,希望对你有一定的参考价值。
查看系统日志-应用程序日志写的是:错误
错误应用程序 w3wp.exe,版本 6.0.3790.1830,错误模块 php5isapi.dll,版本 5.1.2.2,错误地址 0x00002447。
查看系统日志-系统日志写的是:警告
为应用程序池 'xunlei158' 提供服务的进程意外终止。进程 ID 是 '2984'。进程退出代码是 '0x80'。
上面我放了两个网站,另一个只是简单网页,出问题的时候只是一个站挂掉iis并没有挂,挂掉的站用的是php程序我装的是php+mysql for iis,一旦这个站挂掉之后远程连接服务器就连不上了,需要重启服务器才行。
请各位大侠帮忙
是否权限问题??
没法只有重装再试试,不知道你的php+mysql for iis有没有配制对 参考技术B 如果是学习,建议使用小旋风Asp Server,功能强大!简单易用,比XP自带的IIS稳定!本回答被提问者采纳
如何在 IIS 7 上启用经典 ASP 中的大文件上传?
【中文标题】如何在 IIS 7 上启用经典 ASP 中的大文件上传?【英文标题】:How do I enable upload of large files in classic ASP on IIS 7? 【发布时间】:2010-01-01 19:11:51 【问题描述】:最近我不得不让一个旧的 ASP 应用程序在 W2K8 服务器上的 IIS 7.5 中运行。几乎一切正常,除了我似乎无法让它接受大于~200kB 的上传。我确实找到了一个设置,根据我的理解应该是诀窍,在 applicationHost.config 中,我将最大请求大小设置为 100 MB,如下所示:
<location path="TheNameOfMySite">
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="104857600" />
</requestFiltering>
</security>
</system.webServer>
</location>
不幸的是,这似乎什么也没做,它仍然拒绝接受任何大于约 200 KB 的文件,并且在日志文件中它给出了以下错误消息:
ASP_0104_:_80004005|Operation_not_Allowed谷歌搜索指向增加maxAllowedContentLength
,就像我在上面所做的那样。所以我的想法很新鲜,但相信聪明的***人群可以在比我写这个问题的时间更短的时间内解决这个问题。
【问题讨论】:
你在正确的轨道上,更改maxAllowedContentLength
不仅会影响经典 ASP 的所有请求,而且不会更改 maxRequestEntityAllowed
(默认为 200 KB)您仍然会看到ASP 0104 : 80004005 Operation Not Allowed
。请参阅this answer,了解如何在 Classic ASP 中配置大型上传。
【参考方案1】:
maxAllowedContentLength
控制允许在响应中发送多少数据。但是,您想控制请求中可以接受的数量。这由配置文件的asp
部分中的limits
元素的maxRequestEntityAllowed
属性处理。一个示例可能如下所示:-
<system.webServer>
<asp>
<cache diskTemplateCacheDirectory="%SystemDrive%\inetpub\temp\ASP Compiled Templates" />
<limits scriptTimeout="00:02:00"
queueConnectionTestTime="00:00:05"
requestQueueMax="1000"
maxRequestEntityAllowed="104857600"
/>
</asp>
您可以在 ASP 功能的属性网格中的“限制属性”类别下的 IIS7 管理器中进行配置。或者,您可以使用命令行:-
appcmd set config /section:asp /limits.maxRequestEntityAllowed:104857600
请注意,扩展此值会增加 DOS 攻击的窗口,在该窗口中,攻击者会将大量内容发送到服务器,因此不要试图将其扩展至超出您真正需要的范围。
【讨论】:
看来我对 Stack Overflow 人群的信任并没有错!这解决了问题,非常感谢!奇怪的是,你会认为 requestLimits 设置会影响请求而不是响应...... 干杯安东尼,有同样的问题,这也为我解决了。 @Johan Driessen:*** - 永远不要失去对它的信任! 编辑将配置标志更改为:/limits.maxRequestEntityAllowed:104857600 最后,一个有效的命令提示符命令(使用%windir%\system32\inetsrv\appcmd
)。非常感谢。【参考方案2】:
在 Windows 2008 上 - 进入管理工具 - 服务器管理器 - 展开角色 - 展开 Webserver - 单击 IIS - 并查找要更改文件大小限制的 Web 实例,然后进入选项“ASP”展开“限制属性”,您需要更改的属性是“最大请求实体主体限制”。文件大小始终以字节为单位,因此请使用任何在线计算器来计算字节到 KB 或 MB 的转换。
【讨论】:
【参考方案3】:首先@AnthonyWJonesanswer 非常有帮助,但没有解决我的问题,事实上它有点不准确,因此我正在写这篇文章。
IIS 6 中的大量上传是一件轻而易举的事,您只需担心一个配置值
AspMaxRequestEntityAllowed
AspMaxRequestEntityAllowed 属性指定 ASP 请求的实体正文中允许的最大字节数。如果存在 Content-Length 标头并指定的数据量大于 AspMaxRequestEntityAllowed 的值,则 IIS 返回 403 错误响应。此属性在功能上与 MaxRequestEntityAllowed 相关,但特定于 ASP 请求。虽然您可以在通用万维网发布服务(WWW 服务)级别将 MaxRequestEntityAllowed 属性设置为 1 MB,但您可以选择将 AspMaxRequestEntityAllowed 设置为较低的值,如果您知道您的特定 ASP 应用程序处理的数据量较少。
随着 IIS 7 的引入,以及使用 *.config 文件的基于 XML 的新分层配置系统,这一切都变得更加复杂了。
现在,您需要正确配置两个设置,然后大文件上传才能按预期工作,并且它们都位于配置的不同区域。
maxRequestEntityAllowed
<configuration> <system.webServer> <asp> <limits maxRequestEntityAllowed="200000" /> </asp> <system.webServer> <configuration>
maxRequestEntityAllowed 属性指定 ASP 请求的实体正文中允许的最大字节数。如果存在 Content-Length 标头并指定的数据量大于 maxRequestEntityAllowed 的值,则 IIS 将返回 HTTP 403 错误响应。
重要提示:
配置上述设置将在一定程度上起作用,正如您从下面的默认值中看到的那样,但是一旦达到该默认值,无论 maxRequestEntityAllowed
设置为什么,服务器都会以 HTTP 404 Not Found 错误响应进行响应。起初这让我很困惑,因为我认为返回 404 错误响应的一定是我的代码。
maxAllowedContentLength
<configuration> <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="30000000" /> </requestFiltering> </security> </system.webServer> </configuration>
指定请求中内容的最大长度,以字节为单位。默认值为 30000000,大约为 28.6MB。
这个设置非常重要,因为它定义了 IIS 请求中的最大字节数(而不是像之前的配置值那样的 ASP 请求)它与响应的内容长度无关 (如前所述)。无论maxRequestEntityAllowed
(这是一个asp-classic 特定设置)设置为什么,如果maxAllowedContentLength
未设置或您尝试上传更多的默认值28 MB(大约),您将收到HTTP 404 错误回应。
链接
ASP Limits <limits>
Request Limits <requestLimits>
【讨论】:
【参考方案4】:对于无法从 CMD 执行 appcmd 命令的用户,您需要将路径更改为 C:\windows\system32\inetsrv,因为该命令位于该文件夹中。
【讨论】:
或者添加PATH
环境变量的路径,以备后用。【参考方案5】:
这里接受的解决方案对我不起作用。首先,我的配置中没有指定元素,我不想搞砸配置文件。
我也试过@shoaib-suleman'ssolution,但也没有用。最后,我遇到了此处显示的解决方案,并且成功了。
打开 IIS 7 管理单元
选择您要启用以接受大文件上传的网站。
在主窗口中双击“请求过滤”
打开窗口后,您可能会在顶部看到一个选项卡列表,例如:文件扩展名、规则、隐藏段等...
无论您选择哪个选项卡,在主窗口中,右键单击以显示弹出上下文菜单。 在菜单中选择“编辑功能设置”。
在弹出的表单上,修改“最大允许内容长度(字节)”
【讨论】:
请参阅this answer,了解为什么这样做以及在 IIS 7+ 中出现的常见错误。【参考方案6】:进入 IIS,选择您的站点并展开它,然后单击右侧面板中的 ASP 图标。
打开“限制属性”图标,将“最大请求实体正文限制”中的值更改为大于 200000 (200kb) 的值。 2000000 大约是 2mb,20000000 大约是 20mb。根据您的需要设置并申请。 就是这样!
享受..
【讨论】:
以上是关于iis中的一个站总是挂掉应该如何解决的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu 14.04 上使用adt时频繁挂掉请问如何解决
元素“system.webServer”具有无效的子元素“rewrite”。我应该解决这个问题,如何解决?
如何在 SAST Checkmarx 之后解决 API 控制器中的 XSRF 跨站请求伪造 (CSRF)