当前位置:文档之家› IIS应用程序池自动停止关闭假死自动重启以及iis权限(精)

IIS应用程序池自动停止关闭假死自动重启以及iis权限(精)

IIS应用程序池自动停止关闭假死自动重启以及iis权限(精)
IIS应用程序池自动停止关闭假死自动重启以及iis权限(精)

IIS无故自动关闭停止已经不是罕见的事情了,处理这个问题是让我很头痛的事情,遇到这个问题不太可能一次性解决,多数都是用排除法一个个测试排除错误,最终找到那个错误命令。最近我的服务器遇到了这个问题,我很无奈,我很急,客户也很着急,每天IIS都要自动停止2次以上,我总是怀疑是进程池问题,此文章是针对IIS进程池解决办法,如果你遇到了死循环代码,或者其他非进程池,那此文章不太适合你了网络上有关iis的问题和相关解决方案,多不胜搜,但很多都比较零散,没有系统的解决方案;另外,有些解决方法,似是而非,不能找到其中的问题关键点,本人平时对于服务器的应用上也有点实践,因此,今天稍稍总结一点平时遇到地问题和解决方法,特别是对iis的特殊权限引起问题、iis应用程序池假死问题和比较罕见的iis重启命令和自动重启办法。其它相关问题,继续关注本博。一、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的应用程序池,状况提示为:未指定错误,同时应用程序池自动停止运行;用事件查看器查看系统错误日志,发现如下提示:———————————–应用程序-特定权限设置未将 COM 服务器应用程序(CLSID 为

{A9E69610-B80D-11D0-B9B9-00A0C922E750} 的本地激活权限授予用户 NT AUTHORITYNETWORK SERVICE SID (S-1-5-20。可以使用组件服务管理工具修改此安全权限。解决方法,给NETWORK SERVICE 加上访问iis服务的权限,具体方法如下:点击“开始”-“控制面板”-“管理工具”-“组件服务”-“计算机”-“我的电

脑”-“DCOM”选项,选择其下的“IIS ADMIN SERVICE”,右健选择“属性”,找到“安全”,在“启动和激活权限”中编辑“自定义”,添加帐号“NETWORK

SERVICE ”,给该帐号赋予“本地启动”和“本地激活”的权限,重新启动IIS之后再访问同一站点,则一切正常。 9:重启IIS中的特定应

用程序池命令和自动重启的方法在操作系统是Windows server 2003 SP1+的情况下,可以用以下命令部分重启IIS应用程序池: cscript.exe

c:windowssystem32iisapp.vbs /a “DefaultAppPool” 其中/a 代表

alternatively,”DefaultAppPool”代表应用程序池的实例名。如果要设置自动重启这个应用程序池,可以尝试放在批处理中,用计划任务调用此批处理即可。很多人觉得计划任务不安全,都要禁掉,事实上,计划任务的不安全是建立在其它方面不安全的前提上的,如果由于其它方面的不安全,被放入执行程序,计划任务执行,这和计划任务没有直接关系。当然,关掉,是会减少一些安全隐患,这是不错。

什么是IIS应用程序池以及应用程序池详解

什么是应用程序池呢?这是微软的一个全新概念:应用程序池是将一个或多个应用程序链接到一个或多个 工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影响。 Windows 2003同时支持两种工作模式,默认为ISS 6.0工作进程隔离模式。工作进程隔离模式防 止一个应用程序或站点停止了而影响另一个应用程序或站点,大大增强了IIS的可靠性。那么如何设置两 种工作模式呢? 启动IIS管理器,右击网站,选择“属性”,打开属性对话框(图1)。 在IIS 6.0工作进程隔离模式下,所有的应用程序代码都在隔离环境中运行,它们是如何进行隔离的呢?Windows 2003新增了应用程序池,工作进程隔离模式允许客户创建多个应用程序池,每个应用程序池都 可以有不同的配置。因为这些应用程序池直接从内核(而非WWW 服务)接收它们的请求,所以性能和可靠性得到了增强。要隔离运行在同一台计算机上但属于不同网站的Web应用程序,需要为每个网站创建单独的应用程序池。 创建应用程序池 在IIS管理器中,打开本地计算机,右键单击“应用程序池”,选择新建“应用程序池” (必须在工作 进程隔离模式下才能建立应用程序池)。“应用程序池名称”框中,输入新的应用程序池名称。如果在“应 用程序池ID”框中出现的ID (如:AppPool #1)不是您想要的,可进行重命名。如果您单击了“将现有应用程序池作为模板”,请在“应用程序池名称”框中右键单击想要用来作为模板的应用程序池。最后单击[确定]。

指派应用程序池 在IIS 管理器中,右键单击您要为其指派应用程序池的应用程序,然后单击“属性”。单击“主目录”选项卡,确认您正在指派的目录或虚拟目录的“应用程序名”是否已被填写。如果“应用程序名”框尚未被填写,请单击“创建”,然后输入名称。 在“应用程序池”列表框中,选择您想要为其指派的应用程序池的名称。最后单击[确定]。 一起来看看有关应用程序池的一些问题。应用程序池的“属性”对话框有四页——回收,性能,运行状况,标识,如图六所示。在这些选项页中,最引人注目的恐怕就是“回收”页,使用该选项页可以管理工作进程 的回收。在工作进程隔离模式中,IIS可以配置成定期重新启动应用程序池中的工作进程,从而更好地管理那些有错误的工作进程。这确保了池中的应用程序运行正常,并且可以恢复丢失的系统资源。为了回收工 作进程,失败工作进程接收请求的能力将被限制,直到它处理完存储在请求队列中的所有剩余请求。为了 排出当前请求,可以给予进程配置限制。同一命名空间组的替换工作进程在旧的工作进程停止前启动,从 而防止服务中断。旧的进程完成其未决的请求,然后正常关闭,或者如果在达到了配置的时间限制、请求数、设置的时间计划,或当达到指定的内存用量限制后仍没有关闭,则明确地终止进程。默认情况下,应 用程序池每隔1740分钟(29小时)回收一次。 W3SVC根据“运行状况”页的选项来判断应用程序池运行是否正常,包括:每隔指定的时间Ping工作 进程,时间按秒计,默认值30秒启动时间限制(工作进程必须在指定的时间内开始)关闭时间限制(工作进程必须在指定的时间内关闭)是否启动快速失败保护(如果在指定的时间段内一定数目的工作进程发生 失败,则禁用应用程序池)。另外,ISAPI应用程序(包括https://www.doczj.com/doc/5c9712669.html,和asp.dll)可以声明自己不再适合提供服务,要求回收。 默认情况下,当IIS 6.0回收一个池时,它会使用一种称为overlapped recycle的回收技术。在这种回收模式下,失败的工作进程仍会保持运行状态,同时创建一个新的工作进程。IIS 6.0把新传入的请求传递给新的工作进程,但不拆除老的工作进程,直至老的工作进程处理完它队列中的请求,或者遇到超时错误。在此期间,TCP/IP连接不会丢失,因为有http.sys保持着连接的有效性。当失败的工作进程超时出错时,下一个请求传递给工作进程的请求是新的请求,因此原来保存在进程中的会话信息就会丢失。所有这类回 收操作都自动进行,无需管理员干预,而且在大多数情况下,不会造成明显的服务中断现象。如有必要, 可以将配置数据属性LogEventOnRecycle的值设置为1,指示W3SVC执行回收操作时生成一条事件日志 记录。 对于那些不能以多个实例运行的应用程序,overlapped recycle回收技术可能引起问题。如果遇到这类问题,可以将配置数据属性DissallowOverlappingRotation的值设置成 True(1),关闭某个应用程序池回收操作时的进程“重叠”现象。另外,对于失败的工作进程,有时我们可能不想将它拆除,仍旧保留该进程,以便检测和寻找发生问题的根源,这时可以将配置数据属性OrphanActionExe设置成执行文件的名字,使得工作进程成为“孤儿”时执行文件仍保持运行状态。 另一个与应用程序池有关的特性是,IIS 6.0允许将应用程序池配置成一个Web园(Web Garde n)。要理解Web园的概念,可以设想这样一种情形:假设有一个IIS 5.0服务器和三个Web网站,每一个Web 网站运行着相同的应用程序,如果IIS 5.0能够自动按照圆形循环的模式将请求依次发送给这些功能上等价、实际上分离的Web网站,将负载分离到三个不同的进程,就可以构成一个小型的Web农场(Web Farm)——这就是Web园。

iis6.0应用程序池回收和工作进程(转)-我的大房子-博客园

iis6.0应用程序池回收和工作进程(转)-我的大房子-博客园 公司的一个网站程序长时间运行后,速度变慢,重新启动网站后速度明显变快,估计是网站程序占用的内存和CPU 资源没能及时释放,才需要每隔一段时间重启网站释放资源。但手工重启总不能算解决问题的方法,怎样才能实现自动管理呢?IIS6.0的应用程序池自动回收功能可以解决这一问题。 问题如下: 1.网页上显示 您试图在此Web 服务器上访问的Web 应用程序当前不可用。请点击Web 浏览器中的“刷新”按钮重试您的请求。 管理员注意事项: 详述此特定请求失败原因的错误信息可在Web 服务器的系统事件日志中找到。请检查此日志项以查明导致该错误发生的原因。 2.windows事件查看器-应用程序Log The state server has closed an expired TCP/IP connection. The IP address of the client is 127.0.0.1. The expired Read operation began at 05/21/2007 20:12:04.

解决的方法很简单,把程序对应的IIS应用程序池回收一下就好了。 可是为什么会出现这个原因呢?还有为什么回收一下就好了呢?回收做了些什么? 出现的原因 在网上搜索了一翻,发现主要是一下几个问题,当然还有其他原因 1).Framework的问题,例如1.0和2.0版本 2)aspnet_wp.exe 问题 3)安全更新程序(KB886903) 可惜我们服务器出现的问题都不是以上几点引起的,经过我的分析认为是写的很烂很烂的程序占用了大量的资源最后导致内存泄漏,导致IIS的进程当掉了。可惜了程序我是没办法改,都是别人写的,也不会改。不过我不可能每次出现这个问题就登陆到远程服务器上去回收一次吧,所以只有让他自动回收了。 自动回收有好几种方式,也不知道那一种比较适合,而且回收工作进程是会把保存在内存里的Session清空,造成用户需要重新登陆的问题,所以自动回收要越少越好,以保证不会因为其中的一个用户使用了那个很烂的程式导致其他的用户都要重新登陆。

修改iis应用程序池标识添加系统用户

修改iis应用程序池标识,添加系统用户 By ynhu33 85076921 通过应用程序池,你可以配置IIS要启动的工作进程数以及这些进程的更多配置细节。对于IIS管理器中配置的所有应用程序池,Web服务器至少启动一个工作进程。在每个工作进程里,可以容纳多种类型的应用程序--从ISAPI DLL到传统的ASP,当然还有https://www.doczj.com/doc/5c9712669.html,。为了管理应用程序池,IIS 6.0管理器包含了一个新的配置结点,它是应用程序池。 一旦创建了应用程序池,就可以在这个池里运行Web应用程序了。前面提到过,现在通过应用程序池来实现对Web应用程序的隔离;因此,配置虚拟目录和网站时,应用程序池的设定取代了原先在IIS 5.x里介绍的隔离模式设置。 你可以用应用程序池实现的一个有用的隔离策略是安全性。对于每个具有特殊安全权限的应用程序,你可以创建一个具有那些权限的单独的Windows用户,并配置应用程序池把该Windows用户作为标识。 你可以选择的预定义账号如下所示。 网络服务。这是一个受限的账号,具有比本地系统账号小很多的权限。这个账号适合需要访问网络且需从其他机器访问的应用程序使用。 本地服务。这个账号的限制比网络服务账号的限制更多,它适合不需要额外网络访问的服务使用。使用这个账号运行的服务没有访问其他网络资源的权限,它们只能够访问本地资源。本地系统。著名的本地系统账号当然仍然存在。不过,我们不再推荐任何类型的Web应用程序使用这个账号,因为它是系统最强大的账号。它可以在本地系统上执行任意活动,所以用该账号运行的系统也可以做这一切。从根本上说,你的策略应该是应用程序总是运行在"最小权限"账号下,也就是说,这个账号不应该有任何应用程序实际不需要的权限。因此,如果某人能够攻破该应用程序,危害将被限制到最小,因为应用程序运行的账号是受限的。

IIS应用程序池多工作进程设置及Session共享

IIS应用程序池多工作进程设置及Session共享 1 概述 微软的IIS作为Windows平台下https://www.doczj.com/doc/5c9712669.html,网站发布的默认WEB服务器,在性能上提供了比较大的 弹性和可伸缩性,通过应用程序池工作进程数的设置,可以支持从几十到上万并发数量的访问。本文档对相应设置过程进行操作指引,并对设置过程中的注意事项进行重点描述。 2 应用程序池多工作进程设置 根据以往的经验值,在主流的PC-SERVER主机(Xeon E5645 @ 2.4GHz,6核心12线程,32G 内存)上,每个应用程序池的单一工作进程,能够大约承受30-50个左右的并发,如果超出此并发数量,可能会出现IIS无法响应、或响应时间明显变长的问题。通过合理设置应用程序池的最大工作进程数,可显著提高IIS应对高并发的能力,减少网站响应时间。 2.1 设置步骤 1、找到待设置网站对应的应用程序池,如图 1所示: 图 1 找到应用程序池 2、在所选应用程序池上点击右键,选择【高级设置】,如图 2所示: 图 2 高级设置 3、在弹出的【高级设置】窗口中找到【最大工作进程数】,并设置为合理值,如图 3所示: 图 3 设置最大工作进程数 4、点击【确定】按纽保存设置。 2.2 注意事项

图 5 启动服务 4、打开待修改网站主目录下的web.config配置文件,搜索找到“”配置节点,如果不存在配置节点,则在“”节点下新建“”配置节点,并将节点属性修改为: 其中“tcpip=*”后的主机IP地址和端口可根据实际情况修改。修改完后保存配置文件即可。 3.2 注意事项 1、 Session中保存的自定义对象必须显示标记为可序列化“[serializable]”。如果未显示标记为可序列化,则在访问页面时会报错。 2、 StateServer服务器必须为Windows Server操作系统,如Windows Server 2003或Windows Server 2008。

IIS应用程序池出错解决方法

2011-05-20 23:46 108人阅读评论(0) 收藏举报 " 为应用程序池'AppPool #1' 提供服务的进程关闭时间超过了限制" 的错误出现究其原因是由于网站的访问量连接数过大,引起应用程序池处理连接的时候,新的还没有接替,而旧的又要回收,但在回收的过程中不及时,照常应用程序池当机,网站无法访问,出现了这个错误。 当网站无法访问的时候,手动回收应用程序池,即可恢复,不过手动恢复的话,毕竟很麻烦,你不能一天都盯着这个网站看吧?问题出在应用程序池的话,那我们就从应用程序池的配置下手来看是否能解决问题。 1、首先建议每个网站分别建立一个应用程序池,一个应用程序池将对应不同的w3wp.exe 进程,在“命令提示符”下使用iisapp命令可以察看网站对应的w3wp.exe的pid值,方便查找出问题的进程。 2、应用程序池的配置 个人意见觉得在应用程序池的属性窗口中,“回收”和“运行状况”2个选项卡的配置比较重要。 2.1、回收选项卡 1、回收工作进程(分钟):在工作进程运行多少分钟后回收工作进程,默认启用,并且设置为1740分钟(29小时); 2、回收工作进程(请求数目):在工作进程处理多少个HTTP请求后终止此工作进程,默认禁用,如果启用则默认值为35000; 3、在下列时间回收工作进程:在指定的时间回收工作进程,默认禁用;如需启用,勾选后点击添加按钮添加回收的时间即可,使用24小时制定义回收的时间; 4、消耗太多内存时回收工作进程: 最大虚拟内存(兆):当工作进程使用的虚拟内存达到设置的值时回收工作进程,默认禁用,如果启用则默认值为500 M;建议设置为不超过虚拟内存总数的70%; 最大使用的内存(兆):当工作进程使用的物理内存达到设置的值时回收工作进程,默认禁用,如果启用则默认值为192 M;建议设置为不超过物理内存总数的60%; 2.2、性能

应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制

应用程序池'DefaultAppPool' 提供服务的进程关闭时间超过了限制 服务器经常产生“应用程序池'DefaultAppPool' 提供服务的进程关闭时间超过了限制。进程ID 是'2068'。”的错误,导致iis处于假死状态,经了解是IIS应用程序池的设置问题。解决方法如下: Internet 信息服务(IIS)管理器->应用程序池->DefaultAppPool->右击属性 一、回收 1、回收工作进程(分钟):选中,值为1740 2、回收工作进程(请求数目):不选(原先设置为35000) 3、在下列时间回收工作进程:不填 4、消耗太多内存时回收工作进程:全不选。(2、3、4项可能避免了在访问量高的时候强制回收进程可能引发的服务器响应问题,导致iis假死不响应) 二、性能 只选中空闲超时20分钟。其他都不选。WEB园最大工作进程数为1(默认)。注意web 园这里一定要保持默认,如果填写其他超过1的数字就会导致一些网站程序的后台程序打不开或者刷新不停。 原来的请求队列限制为4000,现在无限制。 三、运行状况 前两项都起用,是原来的默认设置。启动时间限制90秒,关闭时间限制180秒。 启动快速失败保护的钩去掉! 为了避免真的遇到很多错误时没有提示,可以不关闭,只是把快速保护的保护范围加大些,例如失败数50次时间段5分钟则关闭对应的程序。 “关闭时间限制180秒”是必须的,因为进程关闭的时间,原来为90秒限制,是默认值,如果进程关闭时间超过90秒,则认为超时,从而出现:进程关闭时间超过了限制日志,所以,适当延长这个时间,可以避免这种错误 第2种方法: 原因:独立进程的内存堆戋消耗完了,IIS不能创建更多的进程工作空间来处理 解决方法: 1. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC 2. 在Parameters键下新建一个DWORD项,名字为:UseSharedWPDesktop 值为1 重启IIS 第3种 问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题. Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30 第4种 新建应用程序池,不同的网站引用不同程序池。 为应用程序池'AppPool #1' 提供服务的进程关闭时间超过了限制。进程ID 是'3000'。 出现上面情况后,该应用程序池对应的网站就访问的非常慢,几乎是打不开。

IIS安全设置

因为IIS(即Internet Information Server)的方便性和易用性,使它成为最受欢迎的Web服务器软件之一。但是,IIS的安全性却一直令人担忧。如何利用IIS建立一个安全的Web服务器,是很多人关心的话题。 构造一个安全系统 要创建一个安全可靠的Web服务器,必须要实现Windows 2000和IIS的双重安全,因为IIS的用户同时也是Windows 2000的用户,并且IIS目录的权限依赖Windows的NTFS文件系统的权限控制,所以保护IIS安全的第一步就是确保Windows 2000操作系统的安全: 1. 使用NTFS文件系统,以便对文件和目录进行管理 2. 关闭默认共享 网上邻居属性--本地连接属性--Microsoft 网络的文件和打印机共享卸载可以完全关闭共享 打开注册表编辑器,展开 “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ LanmanServer\Parameters”项,添加键值AutoShareServer,类型为REG_DWORD,值为0。这样就可以彻底关闭“默认共享”。。 3. 修改共享权限 建立新的共享后立即修改Everyone的缺省权限,不让Web服务器访问者得到不必要的权限。 4. 为系统管理员账号更名,避免非法用户攻击。

鼠标右击[我的电脑]→[管理]→启动“计算机管理”程序,在“本地用户和组”中,鼠标右击“管理员账号(Administrator)”→选择“重命名”,将管理员账号修改为一个很普通的用户名。 5. 禁用TCP/IP 上的NetBIOS 鼠标右击桌面上[网络邻居]→[属性]→[本地连接]→[属性],打开“本地连接属性”对话框。选择[Internet协议(TCP/IP)]→[属性]→[高级]→[WINS],选中下侧的“禁用TCP/IP上的NetBIOS”一项即可解除TCP/IP上的NetBIOS。。 6. TCP/IP上对进站连接进行控制 鼠标右击桌面上[网络邻居]→[属性]→[本地连接]→[属性],打开“本地连接属性”对话框。选择[Internet协议(TCP/IP)]→[属性]→[高级]→[选项],在列表中单击选中“TCP /IP筛选”选项。单击[属性]按钮,选择“只允许”,再单击[添加]按钮,只填入80端口。 7. 修改注册表,减小拒绝服务攻击的风险。 打开注册表:将HKLM\System\ CurrentControlSet\Services\Tcpip\Parameters下的SynAttackProtect的值修改为2,使连接对超时的响应更快。 保证IIS自身的安全性 IIS安全安装 要构建一个安全的IIS服务器,必须从安装时就充分考虑安全问题。 1. 不要将IIS安装在系统分区上。 2. 修改IIS的安装默认路径。 3. 打上Windows和IIS的最新补丁。

Window7操作系统下IIS配置部署Asp

Window7操作系统下IIS配置部署https://www.doczj.com/doc/5c9712669.html, 操作系统:window7 中文旗舰版 测试IIS :IIS7.0 测试日期:2010-12-20

Window7操作系统下IIS配置部署https://www.doczj.com/doc/5c9712669.html, 一、IIS与https://www.doczj.com/doc/5c9712669.html, Framework安装 进入控制面板-程序功能,点击左侧的打开或关闭windows功能,进入安装界面,如图1所示。 图1-打开或关闭windows功能界面 此处注意: 选择Internet信息服务选项,下有三个子选项:FTP服务器、Web管理工具、万维网服务。把FTP服务器、Web管理工具的所有子项全部勾去选中。 万维网服务一项,有一个应用开发功能子项,把下面的ASP等子项均选中,其他子项可以选择安装也可以全部安装。 https://www.doczj.com/doc/5c9712669.html, Framework 3.5.1及其子项选中安装 经过上述两个步骤,安装完成即可。 二、IIS配置 在使用IIS发布网站之前,要对IIS进行配置。

1、安装完IIS,打开IIS管理器如果2所示。 打开方式:控制面板-管理工具-Internet信息服务(IIS)管理工具,打开即可; 或从运行-输入命令inetmgr.exe即可直接打开管理器窗口。 图2-IIS管理器界面 2、更改应用程序池设置 安装完IIS以后,默认的应用程序池为DefaultAppPool,托管管道模式为集成,标识是ApplicationPoolIdentity,应用程序数量1,就是默认网站。 1)在应用程序池,点击右键-添加应用程序池,进入添加页面,添加程序池界面如图3所示。注意:名称为:https://www.doczj.com/doc/5c9712669.html,AppPool,版本选择.NET Framework v2.0.50727,托管管道模式选择:经典;选择立即启动,确定即可。 图3-添加应用程序池界面 2)为默认网站修改应用程序池

IIS应用程序池由服务器引起常见错误号的原因分析及解决方法

IIS应用程序池由服务器引起常见错误号的原因分析及解决方法 错误号:432 错误描述:File name or class name not found during Automation operation 错误来源:PE_Common6 原因分析:服务器没有升级脚本引擎。 解决方法:升级服务器的IE 到6.0 以上版本,如果还不行,单独安装脚本解释引擎。 正在生成网站首页(/Index.htm )…… 错误号:-2147319779 错误描述:Automation error Library not registered. 错误来源:PE_Common 原因分析:服务器的IE 版本过低。 解决方法:升级服务器的IE 到6.0 以上版本,如果还不行,单独安装脚本解释引擎。 错误号:-2147319779 错误描述:Automation error Library not registered. 错误来源:PE_CMS6 原因分析:错误定义的应用程序或对象错误,可能是服务器的脚本解释引擎版本过低引起。解决方法:安装脚本解释引擎。 数据采集错误 错误号:7 错误描述:Out of memory 错误来源:PE_Common 原因分析:PE_Common ,Out of memory ,内存溢出,这十分不好说,范围很广。有可能: 1 、采集的文章有日文片假名。 2 、内存不足。也有可能一点,你的采集历史记录非常非常的庞大,因为采集是第一次全部读入内存减小对数据库频繁的检索量,历史记录和采集项目的资料太多了,内存不足 解决方法:这和个人计算机有关,如果条件允许换个服务器看看,故障发生在内存。 在本地调试:增加一个频道后,就出现了这个错误 错误号:-2147467259 错误描述:不可识别的数据库格式'C:\Inetpub\wwwroot\PowerEasy\database\ ××.asp' 。 错误来源:Microsoft JET Database Engine 原因分析:数据库损坏了。 解决方法:下载下来,用ACCESS 修复一下。 0816 版采集出现的错误提示 错误号:-2147217887 错误描述:由于其Required 属性设置为真(True) ,字段'PE_Article.IncludePic' 不能包含

IIS应用程序池自动停止关闭假死自动重启以及iis权限(精)

IIS无故自动关闭停止已经不是罕见的事情了,处理这个问题是让我很头痛的事情,遇到这个问题不太可能一次性解决,多数都是用排除法一个个测试排除错误,最终找到那个错误命令。最近我的服务器遇到了这个问题,我很无奈,我很急,客户也很着急,每天IIS都要自动停止2次以上,我总是怀疑是进程池问题,此文章是针对IIS进程池解决办法,如果你遇到了死循环代码,或者其他非进程池,那此文章不太适合你了网络上有关iis的问题和相关解决方案,多不胜搜,但很多都比较零散,没有系统的解决方案;另外,有些解决方法,似是而非,不能找到其中的问题关键点,本人平时对于服务器的应用上也有点实践,因此,今天稍稍总结一点平时遇到地问题和解决方法,特别是对iis的特殊权限引起问题、iis应用程序池假死问题和比较罕见的iis重启命令和自动重启办法。其它相关问题,继续关注本博。一、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:就是服务器

C#程序中操作IIS的应用程序池与站点分配

一个应用程序池可以有多个站点,一个站点只对应一个应用程序池。 编程由来: 存放在一个应用程序池里的站点过多就不便于操作,所以需把其中一些站点分配到其他程序池中。 编程题目: 用户输入一个数字或者一个数字+一个名字。程序对站点的所在应用程序池进行统计,用户输入的数字用于限制应用程序池里面的最大容量数,如果超出该容量,将把超出的站点分配到其他程序应用池,或者新建的一个应用程序池,把站点分配进去。 如果用户输入一个数字的情况,将遍历所有程序应用池;如果用户输入一个数字+一个名字的情况,将只对该名字的应用程序池进行操作;如果站点的名字和应用程序池的名字一样,将不进行操作。 条件: 一、把DefautlAppPool应用程序池或者含有字符"AppPool #"的应用程序池里面的超出的站点分配到AppPool #?应用程序池中("?"代表数字) 二、如果aspnet1应用程序池里面的网站数超出用户限制的数字,则分配到新建应用程序池的命名方式为aspnet1-?;("?"代表数字,表示从属aspnet1下的分支) 三、如二设置aspnet2,aspnet3,aspnet4应用程序池 四、当网站名字和应用程序池的名字相同时,将不进行操作 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 这是我在公司里面的任务,以下是我公开的代码(还不属于最优化的代码,我把我的制作品拿出来以代表原创性,最优化的代码暂时不公布,如有需要,请联系博主!)。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 新建一个控制台应用程序(C#编程语言,使用vs2005版本制作) 添加引用:System.DirectoryServices class Program { static Hashtable hs = new Hashtable();//创建哈希表,保存池中的站点 static string[] pls;//池数组 static string[] nums;//应用程序池中各自包含的网站数量 static Hashtable boolhs = new Hashtable();//创建哈希表,保存池中站点数量是否满 static void Main(string[] args) { string strNum = Console.ReadLine();//用户输入信息 pls = GetApplicationPools();//获取应用程序池名称数组 foreach (string i in pls)//填充哈希表key值内容 { hs.Add(i, ""); boolhs.Add(i, "false"); }

window7打开IIS配置

打开IIS管理器,查看网站的高级属性 也可以在这里直接修改使用的应用程序池。强调一下,无论使用哪个应用程序池都是可以成功启用Access的

返回,点击左边应用程序池节点,查看刚才使用的应用程序池的高级属性(这里是DafaultAppPool)

启用32位应用程序选项设为True

IIS的设置到此结束,一般到这个地方就没什么问题了。 接下来修改一些文件夹的访问权限 C:\Windows\temp (典型路径,请根据实际安装路径确定) C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp

给上面两个文件夹添加Authenticated Users的完全访问权限 如果还不足够,继续给C:\Inetpub\wwwroot\App_Data\添加Authenticated Users的完全访问权限 win7的IIS安装配置比较麻烦,研究了一下午才搞个明白,希望对看到的人有用。 一、 windows 7下 IIS 7.5安装配置 一般人说win7自带IIS,这个是没错,不过不准确,win7家庭版是不带IIS 也无法安装的,如果你是win7家庭版,放弃安装IIS的想法吧,或者把 win7 家庭版升级升旗舰版,升级办法看另一篇日志:win7家庭版如何升级到专业版和旗舰版

安装办法: 1、进入控制面板 --> 打开或关闭Windows功能 2、选择如下所示两项,点击安装完成 下面是配置 3、进入控制面板 -->管理工具 -->双击 Internet信息服务(IIS)管理器 4、选择下图左边的Default Web Site,并双击右边的ASP的选项

IIS应用程序池假死(IIS出现网页打开很慢甚至打不开)问题解决办法

IIS应用程序池假死(IIS出现网页打开很慢甚至打不开)问题解决办法 2009-08-11 17:41 iis问题,应用程序池! 为应用程序池 'AppPool #1' 提供服务的进程关闭时间超过了限制。进程 ID 是'3000'。 出现上面情况后,该应用程序池对应的网站就访问的非常慢,几乎是打不开。 这种现象是不是iis假死? 重启下该站点,问题可以得到解决。 可能是应用程序池设置问题,不知道具体应该怎么设置! 请高手指点。 程序代码解决办法: 1 设置进程池回收时间.在进程池属性里. 2 如果你的程序是使用 asp + acc 数据库.且acc数据库大于30m.建议更换sql数据库. acc数据库大于这个值.2003系统下会造成iis6的频繁假死.2000下会造成dllhost.exe占用大量cpu及内存资源.都会严重影响web访问速度. 3 asp程序存在死循环. 4 可使用 microsoft office 压缩修复acc数据库,须先备份. 引用内容2003应用程序池假死常见问题及解决方法 2006-10-09 09:48 经常见到大家谈起,2003应用程序池自动死了,不能恢复了,一直出现 Service Unavailable 常见方法如下。 1:以前没有SP1打补丁的时候会出现这个IIS6。0假死问题,但现在微软都在自动更新里面出补丁了,一般你打好最新补丁后是不会出现此问题了。(所以现在的IIS假死与这个关系不是很大) 2:从IIS6.0开始CPU资源都在应用池里面限制了,不象以前的IIS。5。所以假死的池的缘故就是池被拉死,你在网站打不开的时候可以看到你的某个应用池是禁用的,上面出现一个红叉。你鼠标右键启动网站又会自动恢复。这个原因:大概是以下几个因数造成的。 (1):你限制了应用池的资源限制,限制得太小比如:50这样或更少更多一点,这个时候如果你这个池下面的网站占用CPU太高,比如超过50% 那么5分钟后他就自动死了,手工默认建立的应用池默认是超过资源不操作。

IIS原理

IIS原理 应用程序2009-08-27 20:05:24 阅读320 评论2字号:大中小 引言 我查阅过不少https://www.doczj.com/doc/5c9712669.html,的书籍,发现大多数作者都是站在一个比较高的层次上讲解https://www.doczj.com/doc/5c9712669.html,。他们耐心、细致地告诉你如何一步步拖放控件、设置控件属性、编写CodeBehind 代码,以实现某个特定的功能。 这种做法,实际上是回答了“如何去做”的问题,却没有回答“为什么可以这样做”的问题。 尽管我很推崇悉江华先生的《圣殿祭祀的https://www.doczj.com/doc/5c9712669.html,开发详解》一书,但当我翻看了一下其对角色(Role) 和用户(Member)的讲解时,我决定跳过去直接读后面的章节。因为我发现他也随了大流,对这部分的讲解停留在“如何去做”的层面上。我相信像悉先生这样的牛人是不可能不了解底层运作原理的,仅仅是因为那本书原本就已经很厚了吧。 当你按“如何去做”所讲解的内容去开发程序的时候,对于你的用户,你仍是一名程序员;但对于实现了MembershipProvider 和RoleProvider 抽象类的微软开发人员来说,你已经成了他们的一个用户。 你可能觉得了解这些幕后工作是如何运作的无关紧要,作为程序员的你只要保证开发出的程序可以高效地运行就可以了。然而,在开发过程中,你却发现常常需要使用诸如HttpContext 这样的类。这个时候,你可曾思考过这些类的构成和类的实体是如何创建的?你可能简单地回答:HttpContext代表当前请求的一个上下文环境。可你又知道IIS 、Framework、https://www.doczj.com/doc/5c9712669.html, 是如何协同工作处理每个Http请求、如何区分不同的请求、IIS、Framework、https://www.doczj.com/doc/5c9712669.html,三者之间的数据如何流动么? 回答上面这些问题,首先需要了解IIS是如何处理页面请求的,这也是理解Form验证模式和Windows 验证模式的基础。 Http请求刚刚到达服务器的时候 当服务器接收到一个Http请求的时候,IIS 首先需要决定如何去处理这个请求(NOTE:服务器处理一个.htm页面和一个.aspx页面肯定是不一样的么)。那IIS依据什么去处理呢?―― 根据文件的后缀名。 服务器获取所请求的页面(NOTE:也可以是文件,比如jimmy.jpg)的后缀名以后,接下来会在服务器端寻找可以处理这类后缀名的应用程序,如果IIS找不到可以处理此类文件的应用程序,并且这个文件也没有受到服务器端的保护(NOTE:一个受保护的例子就是App_Code中的文件,一个不受保护的例子就是你的js脚本),那么IIS将直接把这个文件返还给客户端。

WIN2003 服务器iis应用程序池优化设置

这两天感觉服务器上的几个大站都比较卡,延时延的厉害,昨天折腾了下MYSQL数据库,用MYSQL SERVER INSTANCE CONFIGURATION WIZARD 重新修复了一下,当时感觉还好点,今天又有点卡了,继续优化。 想着服务器上的站全部共用一个程序池,而且程序池还是默认的,于是想着把几个流量比较大访问又有点卡的站的程序池单独划分出来,这样应该效果会好些。 我从事件查看器中也可以看出默认的应用程序池经常报错,出现:应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。还真的必须对其好好设置一下了。 首先来看看应用程序池的默认设置: 回收工作进程(分钟)(P): 1740 ,换算一下,每29小时系统就自动回收,所以有可能是在网站访问量很大,系统繁忙的时候 回收工作进程(请求数目)(R): 35000 ,网站达到35000点击数就自动回收w3wp.exe工作进程,这个是网上资料说的 在下列时间回收工作进程(T): 设定一个具体回收的时间 最大虚拟内存 500 最大使用内存 192 当达到w3wp.exe 达到以上内存占用时开始回收 在空闲此段时间后关闭工作进程 20 ,估计是网站没人访问自动关闭工作进程 核心请求队列限制为 4000 ,请求队列达到4000关闭,不了解具体原理启用CPU监视工作进程超过限制,事件查看器中就会出现警告,如果CPU 超过最大使用率时执行的操作选择关闭,也会出现预想不到的错误web 园最大工作进程数 1 ,据说超过此数目会出错 启用 ping 每隔下列时间ping 工作线程 30,每隔30秒检查一下网站是否开启 启用快速失败保护这个不明白,网上资料建议不选择 启动时间限制 90 w3wp.exe 进程必须在90秒内启动 关闭时间限制 90 w3wp.exe 进程必须在90秒内关闭,这个必须根据自己网站的w3wp.exe的内存占用情况来具体制定,内存如果很高,设置短了会出错 这时候要说说进程 w3wp.exe,当w3wp.exe达到以上要求,就会重新启动一个w3wp.exe进程,原来的那个w3wp.exe会在设置规定的时间内回收掉使用的内存并关闭,如果这时w3wp内存过高,但设置回收关闭时间过短,那么就会出现这个错误 引用: 为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制。

Web站点应用程序安装包(IIS,数据库创建)

Web 安装包制作详解(VS2005) 上段时间给客户做了一个 Web 应用程序,老板说为了方便部署要求做一个安装 包,上网上找了很多,现在整理下收集的资料,供大家参考:) 本目录下有我自己做的一个Demo,里面有下面所讲的全部程序 如果打开项目时出现项目无法加载,有可能是项目路径不对,你自己设置下就可 以了。 Publish By nerocool MSN: nerocool@https://www.doczj.com/doc/5c9712669.html, 下面以为下图中的“WebServiceTest”制作安装包为例: ,如下图 第一步:右键单击解决方案,选择“添加——新建项目”

第二部:在弹出来的“添加新项目”页面中选择“安装和部署”下的“安装项目” 模板,并将其重命名为Setup1,如下图 第三步:右键单击“Setup1”项目,选择“视图——文件系统”出现如下图示 ,如下图 右键单击上图所示的“应用程序文件夹”选择“添加——文件夹”

,如图: 并将新生成的文件夹命名为“bin” 然后选中“bin”文件夹,在右边的区域中右键单击选择“添加——文件” ,这里 要添加的文件就是 WebServiceTest(这个项目也可以换成已经发布了的项目,那 样就不会把源代码暴露出去了)项目下“bin”里面的那些DLL程序集 添加完“bin”文件夹里的内容后再选中“应用程序文件夹”同样操作,在右边 的区域中右键单击选择“添加——文件” ,添加实际站点的内容,本文中为 WebServiceTest 下的那些页面(像aspx,html等页面) ,添加完成后如图所示: 第四步:右键单击解决方案,选择“添加——新建项目” ,在弹出的“添加新项 目” 页面中选择 “Visual C#——Windows——类库” 并将其命名为 “ClassLibrary1” 如图所示:

win2008配置IIS

一、安装必须的iis7 组件 iis7 被分成了很多个组件,你需要安装这些组件。下图对应的功能,可以通过以下步骤打开:开始 --> 控制面板 --> 程序 --> 打开或关闭 windows 功能

二、配置iis7 1、为站点设置单用户,绑定硬盘独立站点文件夹。 双击创建的用户,将该用户隶属于guests组 打开硬盘上对应的网站所在文件夹,点右键—属性,增加这个单用户,并设置权限为允许修改、读取、写入权限,如下图:

2、iis7配置使用环境 默认装完iis7之后,使用asp程序会发现提示数据库连接失败,在网上找了找,说是因为ms jet引擎改变了临时目录的位置,但是又没有对临时的存取权限,导致数据库使用失败。 如果使用access。先要设置应用程序池(application pool)为classic .net apppool,而不是 默认的default apppool,可以在网站目录里对每个站点设置,也可以在站点进行单独设置。选择好要设置的站点之后,点右边的“基本设置”即可调出应用程序池设置对话框。

特殊说明下:x64系统没有提供64位的access数据库连接驱动,所以需要修改 classic .net apppool应用程序池:“编辑应用程序池”——“高级设置”中的“启用32位应用程序”设为true,而默认是flase。

如果你是vista+iis7,那么还需要再给“系统 盘:\windows\serviceprofiles\networkservice\appdata\local\temp”目录添加一个“authenticatedusers”的用户,其中appdata目录是隐藏的,在进入的时候可以直接在地址栏输入路径,或者在文件夹选项里显示隐藏文件。 iis 的应用程序池根据托管管道模式分了两种类型:集成和经典 集成 .net 模式下,应用程序不应在 / 配置节中指定 https://www.doczj.com/doc/5c9712669.html, 模块组件,而应使用 / 配置节来加载 https://www.doczj.com/doc/5c9712669.html, 模块组件。经典 .net 模式则是我们以前习惯的iis 6 的方式,没有上述限制。 毕竟现在 longhorn server 离我们还远,我们当然要兼容window 2003 的iis6 的模式。 下述配置功能你可以在控制面板 --> 管理工具 -->internet 信息服务(iis)管理器程序中找到打开 internet 信息服务(iis)管理器后,在中间部分的下部,可以看到身份验证配置项,双

在IIS5.1、IIS6.0、IIS7.5中安装配置MVC 3的具体办法

本文主要介绍在IIS5.1、IIS6.0、IIS7.5中安装配置MVC 3的具体办法! 正文: IIS5.1 1. 安装Microsoft .net FrameWork 4.0安装包; 2. 安装https://www.doczj.com/doc/5c9712669.html, MVC 3; 3. 在IIS中发布网站,创建虚拟目录,https://www.doczj.com/doc/5c9712669.html,版本选择 4.0.30196; 4. 添加MVC的解析: 右击IIS中的虚拟目录选择“属性”-“虚拟目录”-“配置”-“映射”-“添加”,配置如下: 可执行文件:C:\WINDOWS\https://www.doczj.com/doc/5c9712669.html,\Framework\v4.0.30196\aspnet_isapi.dll, 扩展名:.* 动作:全部动作 脚本引擎:选中 检查文件是否存在:不选中 点击确定,最后如下图所示: IIS6.0 1. 安装Microsoft .net FrameWork 4.0安装包; 2. 安装https://www.doczj.com/doc/5c9712669.html, MVC 3; 3. 设置“Web扩展服务”中的“https://www.doczj.com/doc/5c9712669.html, v 4.0.0.30319”为允许,如下图所示: 4. 在IIS中发布网站,创建虚拟目录,https://www.doczj.com/doc/5c9712669.html,版本选择4.0.30196; 5. 添加MVC的解析: 右击IIS中的网站选择“属性”-“主目录”-“配置”-“映射”-“插入”,配置如下:可执行文件:C:\WINDOWS\https://www.doczj.com/doc/5c9712669.html,\Framework\v4.0.30196\aspnet_isapi.dll, 扩展名:.* 确认文件是否存在:不选中 点击确定,最后如下图所示: IIS7.5 1. 安装 Microsoft .net FrameWork 4.0安装包; 2. 安装https://www.doczj.com/doc/5c9712669.html, MVC 3; 3. 设置IIS的“ISAPI和CGI限制”中的“https://www.doczj.com/doc/5c9712669.html, v 4.0.0.30319”为允许,如下图所示: 4. 在IIS中发布网站; 5. 编辑该网站的应用程序池,设置.NET Framework 版本为4.0.30196; 注意事项: 1. NET Framework4下载地址: https://www.doczj.com/doc/5c9712669.html,/downloads/zh-cn/details.aspx?FamilyID=0A391ABD-25C1-4F C0-919F-B21F31AB88B7 2. MVC 3 下载地址: https://www.doczj.com/doc/5c9712669.html,/downloads/en/details.aspx?FamilyID=d2928bc1-f48c-4e95-a064-2a455a22c8f6

相关主题
文本预览
相关文档 最新文档