我管理作为 64 位虚拟主机在 Windows Server 2008 上运行的 Web 服务器。所有服务软件都是独立运行的,而不是作为 AMP 堆栈的一部分。数据驱动器几乎已满,我的系统管理员已配置了一个具有更多空间的新虚拟驱动器。我的任务是将所有内容从旧卷复制到新卷。
创建卷时,我确保它是使用相同的卷类型、文件系统、块大小等创建的。我停止了所有相关服务(Apache、MySQL,它们都从 C:运行,但其数据都位于D:,包括日志),并将所有文件复制过来。
从这里开始,我尝试了两种不同的方法来让服务依赖于新的卷,而忘记旧的。无论哪种方式,MySQL 都没有问题,但 Apache 无法使用任何一种方法作为服务启动。以下是系统事件日志中显示的内容:
Apache2.2 服务因特定于服务的错误而终止 功能不正确
中什么都没有出现error.log
。
首先,我尝试简单地更改驱动器号。我把旧的 D: 改为任意的东西,并将 D: 分配给新卷。这产生了上面的错误。我尝试使用新的驱动器名称重新启动服务器,“以防万一”,但发生了同样的错误。因为对windows挂载点不是很了解,所以把盘符改回原来的样子,确认Apache服务启动正常。
其次,我尝试简单地更新所有 Apache 和 MySQL 配置文件。每次出现的“D:”(不区分大小写)都更改为 F:(新驱动器号)。我很了解配置文件,所以我知道我发现了每一个事件。上面的错误又出现了,方法一模一样。为了让 Web 服务器重新启动并运行,我恢复了所有更改,并且服务成功启动。
我收集的更多信息:
httpd.exe -k runservice
)启动。我尚未测试的一件事是尝试仅将数据和日志位置之一移动到新驱动器,而将另一个保持原样。我不认为这可能会有所作为。
......也就是说,我实际上不知道这里发生了什么。我想不出 Apache 仅通过更改日志文件和数据的位置就无法作为服务运行的任何原因。
我非常感谢有关此事的任何建议或意见。我很高兴根据建议进行进一步调查。如果你们中的任何一个人认为尝试只移动一个项目(日志或数据)是值得的,我会尝试这样做。同样,如果你们中的任何人认为我过于草率地取消许可,我将进行更彻底的检查。
欢迎任何和所有输入!我已经用尽了我所有的想法。