这是我将所有站点从 IIS 6 迁移到 IIS 7.x 时构建的清单:
(1) 不要以 .com 结尾的站点文件夹命名。
(2)创建用户账号:-【应用池用户身份】为app_pool_blahblahblah,密码:xxxxxx
(3) 在服务器管理器中,右键单击“Web 服务器(IIS)”并选择“添加角色服务”。添加 IIS 6 管理兼容性。
(4) 在服务器管理器功能下添加 SMTP 服务器。安装 IIS6 Resource Kit,以便您可以使用 Metabase Explorer。授予 [app pool user identity] 用户对 IIS Metabas 中 /Local Machine/SmtpSvc/ 和 /Local Machine/SmtpSvc/1/ 节点的读取权限
(5) 在应用程序池中,高级设置: - 将 .Net Framework 版本设置为“v2.0”<-- 修复了默认 asp doc 不起作用的问题!- 将“启用 32 位应用程序”设置为 TRUE。- 将托管管道模式设置为“经典”。- 在 Process Model 下,将 Identity 更改为我们创建的“[app pool user identity]”帐户。- 确保“加载用户配置文件”设置为 FALSE。- 确保“最大工作进程”为“1”。
(6) 邮件:在 IIS 6 管理控制台中:http:
//intellitect.com/configuring-windows-smtp-server-on-windows-2008-for-relay/
- 在 SMTP 虚拟服务器属性下: -- “访问”选项卡--> 中继:添加此框的IP,包括127.0.0.1 --“交付”选项卡-->高级:为“完全限定域名”放置框的名称--“交付”选项卡-->高级:为“ smart host" put "dedrelay.secureserver.net" -- "Delivery" 标签 --> Outbound connections:确保限制设置为 100。 -- "Security" 标签 --> 添加 "[app pool user identity]" 和IIS_IUSRS
(7) 在网站下的 IIS 7.5 中: - 在 ASP 下: -- 仅当问题时:将启用缓冲设置为“false” -- 在限制下将最大请求实体和缓冲限制更改为 1024000000 -- 将脚本语言设置为“vbscript” - - 将“向浏览器发送错误”设置为 true - 身份验证 -> 编辑“匿名身份验证”并设置为应用程序池标识。
- 仅在出现问题时:在错误页面下:在 404 下设置为“/home.asp”和“执行 URL” - 仅在出现问题时:编辑 c:\windows\system32\inetsrv\config\applicationHost.config:更改为“允许” - 在管理(底部)下进入“配置编辑器”。-- 在下拉列表中转到 System.web --> http 运行时并将 maxRequestLength 更改为 1024000000 -- 在下拉列表中转到 System.
(8) 为以下文件夹设置“修改”权限: - windows\temp - inetpub\temp - inetpub\mailroot - 仅在出现问题时:windows\serviceprofiles\networkservice\AppData\Local\Temp?
并在注册表中设置权限:-仅在出现问题时:HKLM\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines?
对于这些用户帐户: - IIS_IUSRS - [应用程序池用户身份] - 网络服务
(9) 安装和使用Process Monitor查找权限问题——过滤器