过去,我的 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。
除了依赖某些东西之外,为什么你“需要”在启动周期的后期启动某些东西?
我想我会让它依赖于打印后台处理程序。他们怎么知道它通常会在稍后启动?