服务器应用程序池老是自动停止

服务器应用程序池老是自动停止,第1张

一、2003应用程序池自动死了,不能恢复了,一直出现 Service Unavailable 常见方法如下。

1:没有打SP1补丁的时候会出现这个IIS6.0假死问题,但现在微软都在自动更新里面出补丁了,一般你打好最新补丁后是不会出现此问题了。(所以现在的IIS假死与这个关系不是很大)

2:从IIS6.0开始CPU资源都在应用池里面限制了,不象以前的IIS.5。所以假死的池的缘故就是池被拉死,你在网站打不开的时候可以看到你的某个应用池是禁用的,上面出现一个红叉。你鼠标右键启动网站又会自动恢复。 这个原因:大概是以下几个因数造成的。

(1):你限制了应用池的资源,限制得太小 比如:50这样或更少更多一点,这个时候如果你这个池下面的网站占用CPU太高,比如超过50% 那么5分钟后他就自动死了,手工默认建立的应用池默认是超过资源不 *** 作。

出现上面这个情况解决方法:1:不限制CPU资源,(这个是不可取的,不限制资源,有的程序有BUG占用资源厉害了的,服务器都会被拉死,你可能都无法 *** 作服务器。)2:在超过资源那里选择关闭,这个关闭默认是失败5次,90秒内恢复,一般默认就可。网站能自动恢复,这个关闭:不是永久关闭,意思是超过资源关闭,然后在某时间内自动恢复池。不 *** 作就是不恢复,这个是很多人的误区。

(2):内存限制 在IIS6.0应用池上面有虚拟内存和最大内存限制,如果你设置了这个。那么网站访问量大了 也会出现假死,所以不建议设置这里。默认就可。

3:就是服务器自身内存太小,网站运行当然需要使用到内存了,当内存不够的时候应用池也会死掉变成禁用。那么只有等内存全部释放出来才能恢复应用池了。出现这个情况:那么你就要考虑加内存或者检查到底是什么程序占用了内存了。比如MSSQL数据库,这个可是吃内存得大户啊,最好别和WEB服务器同时一个服务器上。很多人用1G内存做 2003系统,2003NET结构是很占用内存的,所以做服务器选2003还得把内存加到2G或更高才好。 内存不够上面 2点讲到的,是没办法 *** 作了,也无法自动恢复。

4:就是ACCESS数据库太大或查询太多,这个也会出现把IIS拉死,解决方法;修复ACCESS数据库,或尽量少用ACCESS数据库,升级至sqlserver数据库;或者在技术方面革新,像现在有些网站系统,风讯、动易等cms;pjblog、zblog等博客程序,都支持生成静态功能.

5:不同网站用不同应用池:根据你自己实际情况而定,站点大的最好独立一个应用池,限制他的资源超过了自动回收,看上面(1)讲到的,这样就不影响其他站点。中型站点:多个网站共用一个应用池,比如5个站点用一个池,设置他资源时间等等。这样他们就算超资源了也不影响其他应用池的网站。

6:设置回收时间:很多人以为设置回收池越短越好,其实是错误的,每次回收当然是把内存回收回来了,但加重了一次服务器的负担,当服务器比较繁忙的时候,有可能导致其他应用池死。所以建议设置共1000就行了。其他独立池按照他网站流量而设置 可以设置600 也行,共用的不建议设置太短。

7:网站后台过不了多久自动退出又要重新登陆:这个情况就是你设置回收时间太短了,按照 6点设置吧。 不要设置什么20分、30分这样的,这样不好的。另外一个原因就是和站的响应设置时间有关,设置得稍长些。

8:windows 2003系统iis6访问本机的站点时提示“Service Unavailable”;

查看iis的应用程序池,状况提示为:未指定错误,同时应用程序池自动停止运行;

Service Unavailable是一种系统的警告提示。如果一个网站的程序占资源太多或者发生太多的错误,系统日志就会提示:“应用程序池 'xxx' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误,或者提示:应用程序池 'xxx' 超过了其作业限制设置。这时,访问这个网站就会提示:Service Unavailable。一般系统会在30秒左右恢复正常,多刷新几次就能正常访问了。

在日志中发现IIS7.5的应用程序池自动停止,同时访问网站提示:HTTP Error 503,The service is unavailable.. 的错误,搜遍整个互联网总算是解决了问题。小编也整理了IIS6及IIS7.5遇到此类问题汇总解决方法,欢迎大家尝试。

关于IIS6的(适于IIS7)解决方法

描述:

iis6应用程序池被自动禁用问题 Service Unavailable 应用程序池 'DefaultAppPool' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误。应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为 .............

1.首先是打开IIS管理器.检查应用程序池,果然"DefaultAppPool"出错了.而且不是平常的停止的图标.

2.试着重启"DefaultAppPool"应用程序池,一浏览页面马上就关闭.

3.到了查看事件日志的时候了.发现了以下这类的日志

事件类型: 警告

事件来源: W3SVC

事件种类: 无

事件 ID: 1009

日期: 2008-6-24

事件: 16:12:33

用户: N/A

计算机: MAIL

描述:

为应用程序池 'DefaultAppPool' 提供服务的进程意外终止。进程 ID 是 '3160'。进程退出代码是 '0xffffffff'。

4.会不会是默认的程序池出问题了?于是,尝试新建一个新的程序池.将默认网站的程序池改成新的.但是问题依旧.出现相似的日志.

事件类型: 错误

事件来源: W3SVC

事件种类: 无

事件 ID: 1002

日期: 2008-6-25

事件: 14:17:04

用户: N/A

计算机: MAIL

描述:

应用程序池 'AppPool #1' 被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误。

5.再查找事件日志另一个日志引起了我的注意.如下:

事件类型: 错误

事件来源: DCOM

事件种类: 无

事件 ID: 10016

日期: 2008-6-24

事件: 16:12:33

用户: NT AUTHORITY/NETWORK SERVICE

计算机: MAIL

描述:

应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为

{A9E69610-B80D-11D0-B9B9-00A0C922E750}

)的 本地 激活 权限授予用户 NT AUTHORITY/NETWORK SERVICE SID (S-1-5-20)。可以使用组件服务管理工具修改此安全权限。

6.有点戏了.看看CLSID 为 {A9E69610-B80D-11D0-B9B9-00A0C922E750} 是什么服务先.最后在下面的注册表项中找到它:

HKEY_CLASSES_ROOT/AppID/{A9E69610-B80D-11D0-B9B9-00A0C922E750}

7.名字刚好是"IIS Admin Service"

8.好了,找到是什么了.从"管理工具"中打开"组件服务",找到IIS Admin Service对比一下CLSID是否一致

9.确定是这个以后,接下来的就是为它增加NETWORK SERVICE权限了.

A启动和激活权限,点击"自定义"..

B.在用户列表中添加"NETWORK SERVICE",

C.并给予本地启动和激活权限,保存退出.

另外,如果还是有问题,把“IIS wamreg admin SERVICE”也这样 *** 作一下,右健选择“属性”,找到“安全”,在“启动和激活权限”中编辑“自定义”,添加帐号

network service network service 分别给本地启动和激活权限。

2014年2月18日再补充:今日有网友向小编反馈他的解决方法,就是在Windows server 2008 R2 64位下使用PHP5.5.x版本,不用以上设置,也解决了此问题。

到此问题解决。

也有朋友提到,选项无法编辑,为灰色,应该怎么办?

这个是win2008 R2 x64的安全特性.一些核心系统组件只能允许本地帐号,TrustedInstaller有完全控制权限,而不是本地管理员组

要在Windows Server 2008 R2 上修改 “IIS Admin Service” ,你需要授予本地管理员组有注册表权限:

1.在组件管理器中查到IIS的appid

2.使用regedit,定位到HKEY_CLASSES_ROOTAppID{刚查到的ID}”

3.右键点击{刚查到的ID},选权限

4.在权限设置窗口中点高级,选择所有者标签,选中administrators为所有者

5.授予administrators组有读/写等所有权 注意:务必不要修改TrustedInstaller的权限

现在,重新执行组件管理器,可以修改权限了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7802899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存