iis7.5应用程序池自动停止
环境: Windows Server 2008 R2, IIS7.5,PHP,mysql过一段时间后,IIS7.5中的某个网站不能访问,查看相关应用程序池已经停止,再查看相关系统日志,发现一个警告日志,信息如下:日志名称: System来源: Microsoft-Windows-WAS日期: 2012/4/5 1
·
环境: Windows Server 2008 R2, IIS7.5,PHP,mysql
过一段时间后,IIS7.5中的某个网站不能访问,查看相关应用程序池已经停止,再查看相关系统日志,发现一个警告日志,信息如下:
日志名称: System
来源: Microsoft-Windows-WAS
日期: 2012/4/5 10:28:50
事件 ID: 5009
任务类别: 无
级别: 警告
关键字: 经典
用户: 暂缺
计算机: WIN-it0527
描述:
为应用程序池“ www.it0527.com ”提供服务的进程意外终止。进程 ID 是“4420”。进程退出代码是“0xff”。
事件 Xml:
<Event xmlns=" http://schemas.microsoft.com/win/2004/08/events/event ">
<System>
<Provider Name="Microsoft-Windows-WAS" Guid="{524B5D04-133C-4A62-8362-64E8EDB9CE40}" EventSourceName="WAS" />
<EventID Qualifiers="32768">5009</EventID>
<Version>0</Version>
<Level>3</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2012-04-05T02:28:50.000000000Z" />
<EventRecordID>68377</EventRecordID>
<Correlation />
<Execution ProcessID="0" ThreadID="0" />
<Channel>System</Channel>
<Computer>WIN-it0527</Computer>
<Security />
</System>
<EventData>
<Data Name="AppPoolID"> www.it0527.com </Data>
<Data Name="ProcessID">4420</Data>
<Data Name="ExitCode">ff</Data>
</EventData>
</Event>
说明:Windows Process Activation Service (WAS)
解决思路及方法:
一、检查自己的code
分析原因,查看自己的代码是否有死循环;是否使用了非托管的代码,而没有释放资源(例如引用c/c++ DLL);是否程序中没有正常的捕获处理异常等。还是好好检查自己的代码吧。
二、网上很多解决方法,说是连接数超过限制,新系统且本地测试用,所以不存在iis线程过高,找到一个方法奏效,给NETWORK SERVICE 加上访问iis服务的权限,具体方法如下:
点击“ 开始 ”-“ 控制面板 ”-“ 管理工 具”-“ 组件服务 ”-“ 计算 机”-“ 我的电脑 ”-“ DCOM”选项 ,
选择其下的“ IIS ADMIN SERVICE ”,右健选择“ 属性 ”,找到“ 安全 ”,在“ 启动和激活权限 ”中编辑“ 自定义 ”,添加帐号“ NETWORK SERVICE ”,
给该帐号赋予“ 本地启动 ”和“ 本地激活 ”的权限,重新启动IIS
(“开始”-“运行”-“CMD”,点确定,然后运行IISRESET),
之后再访问同一站点,则一切正常。
过一段时间后,IIS7.5中的某个网站不能访问,查看相关应用程序池已经停止,再查看相关系统日志,发现一个警告日志,信息如下:
日志名称: System
来源: Microsoft-Windows-WAS
日期: 2012/4/5 10:28:50
事件 ID: 5009
任务类别: 无
级别: 警告
关键字: 经典
用户: 暂缺
计算机: WIN-it0527
描述:
为应用程序池“ www.it0527.com ”提供服务的进程意外终止。进程 ID 是“4420”。进程退出代码是“0xff”。
事件 Xml:
<Event xmlns=" http://schemas.microsoft.com/win/2004/08/events/event ">
<System>
<Provider Name="Microsoft-Windows-WAS" Guid="{524B5D04-133C-4A62-8362-64E8EDB9CE40}" EventSourceName="WAS" />
<EventID Qualifiers="32768">5009</EventID>
<Version>0</Version>
<Level>3</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2012-04-05T02:28:50.000000000Z" />
<EventRecordID>68377</EventRecordID>
<Correlation />
<Execution ProcessID="0" ThreadID="0" />
<Channel>System</Channel>
<Computer>WIN-it0527</Computer>
<Security />
</System>
<EventData>
<Data Name="AppPoolID"> www.it0527.com </Data>
<Data Name="ProcessID">4420</Data>
<Data Name="ExitCode">ff</Data>
</EventData>
</Event>
说明:Windows Process Activation Service (WAS)
解决思路及方法:
一、检查自己的code
分析原因,查看自己的代码是否有死循环;是否使用了非托管的代码,而没有释放资源(例如引用c/c++ DLL);是否程序中没有正常的捕获处理异常等。还是好好检查自己的代码吧。
二、网上很多解决方法,说是连接数超过限制,新系统且本地测试用,所以不存在iis线程过高,找到一个方法奏效,给NETWORK SERVICE 加上访问iis服务的权限,具体方法如下:
点击“ 开始 ”-“ 控制面板 ”-“ 管理工 具”-“ 组件服务 ”-“ 计算 机”-“ 我的电脑 ”-“ DCOM”选项 ,
选择其下的“ IIS ADMIN SERVICE ”,右健选择“ 属性 ”,找到“ 安全 ”,在“ 启动和激活权限 ”中编辑“ 自定义 ”,添加帐号“ NETWORK SERVICE ”,
给该帐号赋予“ 本地启动 ”和“ 本地激活 ”的权限,重新启动IIS
(“开始”-“运行”-“CMD”,点确定,然后运行IISRESET),
之后再访问同一站点,则一切正常。
更多推荐
已为社区贡献2条内容
所有评论(0)