iis7.5服务器程序池会定时关闭吗

iis7.5服务器程序池会定时关闭吗,第1张

IIS应用程序池假死、自动重启以及iis权限等解决办法 网络上有关iis的问题和相关解决方案,多不胜搜,但很多都比较零散,没有系统的解决方案;另外,有些解决方法,似是而非,不能找到其中的问题关键点,本人平时对于服务器的应用上也有点实践,因此,今天稍稍总结一点平时遇到地问题和解决方法,特别是对iis的特殊权限引起问题、iis应用程序池假死问题和比较罕见的iis重启命令和自动重启办法。其它相关问题,继续关注本博。</p>

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

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

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

<p>(1):你限制了<strong>应用池的资源</strong>,限制得太小 比如:50这样或更少更多一点,这个时候如果你这个池下面的网站占用CPU太高,比如超过50% 那么5分钟后他就自动死了,手工默认建立的应用池默认是超过资源不 *** 作。<br/>出现上面这个情况解决方法:1:不限制CPU资源,(这个是不可取的,不限制资源,有的程序有BUG占用资源厉害了的,服务器都会被拉死,你可能都无法 *** 作服务器。)2:在超过资源那里选择关闭,这个关闭默认是失败5次,90秒内恢复,一般默认就可。网站能自动恢复,这个关闭:不是永久关闭,意思是超过资源关闭,然后在某时间内自动恢复池。不 *** 作就是不恢复,这个是很多人的误区。</p>

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

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

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

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

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

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

<p>8:windows 2003系统iis6访问本机的站点时提示“Service Unavailable”;<br/>查看iis的应用程序池,状况提示为:<strong>未指定错误,同时应用程序池自动停止运行</strong>;</p>

<p>用事件查看器查看系统错误日志,发现如下提示:<br/>-----------------------------------<br/>应用程序-特定 权限设置未将 COM 服务器应用程序(CLSID 为<br/>{A9E69610-B80D-11D0-B9B9-00A0C922E750}<br/>)的 本地 激活 权限授予用户 NT AUTHORITY\NETWORK SERVICE SID (S-1-5-20)。可以使用组件服务管理工具修改此安全权限。</p>

<p>解决方法,给<strong>NETWORK SERVICE 加上访问iis服务的权限</strong>,具体方法如下:</p>

<p>点击“开始”-“控制面板”-“管理工具”-“组件服务”-“计算机”-“我的电脑”-“DCOM”选项,<br/>选择其下的“IIS ADMIN SERVICE”,右健选择“属性”,找到“安全”,在“启动和激活权限”中编辑“自定义”,添加帐号“NETWORK SERVICE ”,给该帐号赋予“本地启动”和“本地激活”的权限,重新启动IIS之后再访问同一站点,则一切正常。</p>

<p>9:<strong>重启IIS中的特定应用程序池命令和自动重启的方法</strong></p>

<p>在 *** 作系统是Windows server 2003 SP1+的情况下,可以用以下命令部分重启IIS应用程序池: <br/><br/><strong><font color="#ff0000">cscriptexe c:\windows\system32\iisappvbs /a "DefaultAppPool" </font><br/></strong><br/>其中/a 代表alternatively,"DefaultAppPool"代表应用程序池的实例名。如果要设置自动重启这个应用程序池,可以尝试放在批处理中,用计划任务调用此批处理即可。很多人觉得计划任务不安全,都要禁掉,事实上,计划任务的不安全是建立在其它方面不安全的前提上的,如果由于其它方面的不安全,被放入执行程序,计划任务执行,这和计划任务没有直接关系。当然,关掉,是会减少一些安全隐患,这是不错。

查看系统日志看看关闭的原因, 然后在系统服务控制台里把IIS出错时设置成不关闭,不行就重装IIS服务看看,还是不行就修复系统,再不行就是最糟糕的办法 重装系统了

"我的iis应用程序池动不动就被自动停止了"这个应该是

程序池设置了

错误保护,当达到一定次数

自动关闭,可以在程序池的属性

运行状态

启用快速失败保护去掉对勾

就可以了

有可能是由于timer已经被回收掉了 你是在什么环境下面winform webform

经过你的补充我看明白了 是这样的 由于你的应用程序在特定空闲时间之后相应的w3wp辅助进程会被回收掉 所以你的timer自然没有作用了 你可以查看iis 应用程序池的属性 切换到性能选项卡空闲超时 默认的时间是20分钟 也就是说如果20分钟内你的网站没有任何请求那么就会造成回收

以上就是关于iis7.5服务器程序池会定时关闭吗全部的内容,包括:iis7.5服务器程序池会定时关闭吗、如何用c#代码检测iis应用程序池是否启动或停止、Timer定时器过段时间后自动停止运行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9297137.html

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

发表评论

登录后才能评论

评论列表(0条)

保存