首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

Application Pool和"Service Unavailable"

  每个AppPool要指定一个身份(identity)来运行。IIS6中AppPool默认运行身份为NT AUTHORITY\NETWORK SERVICE.这是一个系统内建帐户,完全受系统控制。它支持所有必要的以服务登录(Log on as a service)的权限,密码也是内部来维护——换句话说,我们可以把以服务登录理解为它可以控制了哪些帐户能够使用、操作远程资源。我们可以通过很多方法控制远程资源的访问。比如修改远程资源ACL表,并允许远端机器访问本地资源;或者在远程访问时换作远端授信帐户(impersonating)进行操作;或者索性让我们的程序运行在某一个配置帐户下——log on as a service.不同的是它是宿主在IIS的AppPool中的,必然收到IIS控制,用户本身没有办法像普通服务程序那样启动它。我要试验的就是指定AppPool以配置帐户启动。

  我们分几步来部署一个web程序以指定账户运行。

  1. 打开IIS6,在AppPool节点找到我们要修改的web程序,右键属性。

  默认IIS是选择Predefined帐户:Network Service.现在我们勾选Configurable,并指定帐户和密码。注意:这个帐号必须是一个域帐号!

  2. 将我们之前指定的apppool帐号加入IIS_WPG用户组中。IIS_WPG用户组维护了所有可以以其中帐户启动worker Process的帐户。Worker Process是由IIS启动的。

  做完这两步,本以为可以完美的开启自定义帐户运行的w3wp.exe.却不想得到"Service Unavailable“的异常。翻看event log,我们得到以下一些错误:

  错误一:此错误基本就是重复一下Service Unavailable的意思……注意主谓关系:有某某后台要启动某个process来运行appPool.这个process肯定就是w3wp.exe.但那个后台是谁?这里还不知道。

  Event Type: Error

  Event Source: W3SVC

  Event Category: None

  Event ID: 1059

  Date: 1/18/2008

  Time: 11:48:27 AM

  User: N/A

  Computer: HITOMI

  Description:

  A failure was encountered while launching the process serving application pool 'HITOMIWS'. The application pool has been disabled.

  For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

  错误二:已经告诉我们所指定的appPool帐户非法。另外一个极重要的提示回答了error一的疑惑:是World Wide Web Publishing Service无法启动w3wp.exe.(这里也回答了文章最初的问题)至此,唯一的问题就是为什么帐户非法?往下看……

  Event Type: Warning

  Event Source: W3SVC

  Event Category: None

  Event ID: 1057

  Date: 1/18/2008

  Time: 11:48:27 AM

  User: N/A

  Computer: HITOMI

  Description:

  The identity of application pool 'HITOMIWS' is invalid, so the World Wide Web Publishing Service can not create a worker process to serve the application pool. Therefore, the application pool has been disabled.

  For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

[1] [2] 下一页

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 社区讨论
 博客论点
 Dotnet频道相关导航