相关疑难解决方法(0)

Systemd - 只有在 DNS 可用后才启动服务

我有几个服务,最显着的是 nginx 和 ntpd,它们依赖于有效的 DNS 解析才能正常启动。现在,这些服务都没有在启动时正确启动,但在机器启动后手动干预时确实启动良好,日志中的一些消息是关于无法解析名称的。

这让我相信我与 systemd 存在竞争条件。我的服务器指向 127.0.0.1 作为其名称服务器。绑定到 localhost:53 的是 pdns-recursor。我已经将 ntp 和 nginx 设置为 WantedBy pdns-recursor 在它们的单元文件中,如下所示

[Unit]
WantedBy=pdns-recursor.service
Run Code Online (Sandbox Code Playgroud)

但是,我仍然在 nginx 和 ntp 中收到有关无法在启动时解析名称的日志消息。

如何在这些服务尝试启动之前验证 DNS 已完全启动?我正在使用 Ubuntu 16.04

Aug 09 22:35:25 host.blah ntpd[3574]: restrict: ignoring line 21, address/host 'ntp.blah' unusable.
Aug 09 22:35:26 host.blah ntpd[3574]: restrict: ignoring line 23, address/host 'ntp.blah' unusable.
Aug 09 22:35:28 host.blah ntpd[3574]: restrict: ignoring line 25, address/host 'ntp.blah' unusable.
Aug 09 22:35:29 host.blah ntpd[3574]: restrict: ignoring line 27, address/host 'ntp.blah' …
Run Code Online (Sandbox Code Playgroud)

domain-name-system nginx powerdns systemd

5
推荐指数
3
解决办法
8771
查看次数

标签 统计

domain-name-system ×1

nginx ×1

powerdns ×1

systemd ×1