Как я изменяю порядок, в котором запущены systemd сервисы

Сервер Ubuntu 18.04 в моей домашней сети
Я работаю:

  • dnsmasq для DHCP и DNS
  • nginx как обратный прокси к некоторым веб-приложениям (работающий localhost и на других хостах)

Конфигурация прокси реверса nginx использует имена хостов, например:

location / {
        proxy_pass http://nas.mydomain.com:8080;

Однако при перезагрузке сервера, nginx пытается запустить, но перестал работать из-за неспособности разрешить имена хостов в ее конфигурации. Если я запускаю nginx вручную после начальной загрузки, он запускает без ошибки.

Это приводит меня полагать, что nginx запускается, прежде чем dnsmasq доступен для разрешения имен хостов.

Существует ли способ вынудить nginx запуститься после dnsmasq?

5
задан 29 November 2018 в 05:50

1 ответ

Systemd пытается запустить многочисленные услуги параллельно, если Вы не говорите, что он не делает. Если у Вас есть зависимости, необходимо использовать директивы как После в сервисном файле определения.

В этом случае, если необходимо запустить nginx сервис после того, как dnsmasq услуга работает, можно добавить

After=dnsmasq.service

в nginx.service файл.

Hope это помогает.

3
ответ дан 23 November 2019 в 10:25

Другие вопросы по тегам:

Похожие вопросы: