首先,如果这是一个基本问题,我深表歉意。我是一名 Linux 系统管理员,恰好目前正在处理 Windows。欢迎随意编辑问题或在适当的地方添加标签。
前提:我正在将网站从 Windows Server 2003 上的 IIS 6.0 迁移到 Windows Server 2016 上的 IIS 8.5。IIS 8.5 最初安装在默认位置,当网站位于C:\inetpub\wwwroot
新服务器下时,它运行良好。但是,由于组织政策,网站需要位于E:\
新服务器的驱动器上,而不是C:\
驱动器上。首先,我尝试简单地将网站从移动到C:\inetpub\wwwroot
并E:\inetpub\wwwroot
在 IIS 中更新对该网站的引用,但该网站不会出现。(我不记得我在这里收到的确切错误消息。如果有帮助,我可以重建此环境并复制错误。)
之后,我联系了一位同事,他告诉我脚本他在 Windows Server 2012 的非标准驱动器上安装网站时使用了该脚本。下面是该脚本功能的一个总结:
- 停止 IIS
- 复制
C:\inetpub
到E:\inetpub
(或指定的任何驱动器),同时保留文件所有权和 ACL 信息 - 使用
appcmd set config
指定以下内容的目录路径:- 日志
- 配置历史记录
- 临时文件
- 默认站点
- 错误页面
- 修改以下注册表组件:
HKLM\System\CurrentControlSet\Services\WAS\Parameters\ConfigIsolationPath
HKLM\Software\Microsoft\inetstp\PathWWWRoot
HKLM\Software\Microsoft\inetstp\PathFTPRoot
HKLM\Software\Wow6432Node\Microsoft\inetstp\PathWWWRoot
HKLM\Software\Wow6432Node\Microsoft\inetstp\PathFTPRoot
- 启动 IIS
我运行了该脚本,但最终看到以下错误iisreset /start
:
正在尝试启动... 启动尝试失败。IIS 管理服务或万维网发布服务,或依赖于它们的服务无法启动。该服务或相关服务可能在启动过程中出现错误或被禁用。
我在 Windows 服务菜单下找不到 IIS 管理服务,并且当我尝试启动万维网发布服务时,收到以下错误消息:
Windows 无法在本地计算机上启动万维网发布服务。
错误 1068:依赖服务或组无法启动。
我接下来的想法是,也许注销并重新登录 Windows 会有所帮助,因为注册表更改可能要等到注销后才会生效。然而,这样做并没有帮助。
鉴于该脚本适用于 Windows Server 2012 / IIS 8 并且我当前的环境是 Windows Server 2016 / IIS 8.5,除了脚本执行的操作之外,我还需要做其他事情吗?
答案1
我不确定回滚脚本所做的更改有多容易。我会卸载 IIS 并重新安装。
建议从非 C 盘运行网站,但我不会移动整个C:\inetpub
目录。而是创建新网站并将E:\
其日志文件也指向不同的驱动器。这样只剩下几个配置和错误页面文件以及一些临时文件。运行网站一段时间后,C:\inetpub
您可能需要监控其大小。C:\inetpub\temp
如果您想使用当前位置/设置,则需要运行一些诊断程序来找出问题所在。正在运行吗Windows Process Activation Service
?事件日志中有什么内容吗?