Apache 的真正服务依赖性是什么?(重启时无法启动,但之后可以正常工作。)

Apache 的真正服务依赖性是什么?(重启时无法启动,但之后可以正常工作。)

过去,我的 Apache 服务在重启后成功启动的运气各不相同。现在,我有几个 Apache 服务正在运行,但在上次重启时(Windows 更新后),它们都没有成功启动 ( alloc_listener: failed to set up sockaddr)。发生这种情况后手动启动它们还没有失败过。

是否有某种“适当”的方法来更改启动顺序,以便它们在网络服务准备好为其提供套接字后启动?还是我必须求助于在所有其他服务启动后运行的批处理文件?

编辑:鉴于评论中 Kara Marfia 的链接,除了AFD Networking Support Environment和之外,Apache 实际上还依赖于什么TCP/IP Protocol Driver

答案1

DNS

如果消息在 alloc_listener 部分之前包含类似“请求的名称有效,但未找到请求类型的数据”的内容,则“名称”部分意味着您可能需要 DNS 完全运行才能启动 Apache。当您设置 Apache 以在特定服务器别名下进行监听时,就会发生这种情况。

答案2

它们很神奇,普通人无法了解。

我喜欢 MS 文章中的这条注释:

注意:如果您有一项服务需要在启动周期的后期启动,但没有特定的服务依赖关系(如上所述),则选择最后启动的服务之一作为“取决于服务”值的数据值。通常选择的服务是 Spooler 和 Messenger。

除了依赖某些东西之外,为什么你“需要”在启动周期的后期启动某些东西?

我想我会让它依赖于打印后台处理程序。他们怎么知道它通常会在稍后启动?

相关内容