web-dev-qa-db-fra.com

Comment changer l'ordre dans lequel les services systemd sont démarrés

Serveur Ubuntu 18.04 sur mon réseau domestique
Je suis entrain de courir:

  • dnsmasq pour DHCP et DNS
  • nginx en tant que proxy inverse pour certaines applications Web (s'exécutant sur localhost et sur d'autres hôtes)

La configuration de proxy inverse nginx utilise des noms d’hôte, par exemple:

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

Cependant, lors du redémarrage du serveur, nginx tente de démarrer mais échoue car il ne parvient pas à résoudre les noms d’hôte dans sa configuration. Si je lance manuellement nginx après le démarrage, il démarre sans erreur.

Cela me porte à croire que nginx démarre avant que Dnsmasq ne soit disponible pour résoudre les noms d'hôte.

Existe-t-il un moyen de forcer nginx à démarrer après Dnsmasq?

5
J. le Roux

Systemd essaie de démarrer plusieurs services en parallèle, à moins que vous ne le lui disiez pas. Si vous avez des dépendances, vous devez utiliser des directives telles que Après dans le fichier de définition des services.

Dans ce cas, si vous devez démarrer le service nginx après l’exécution du service Dnsmasq, vous pouvez ajouter

After=dnsmasq.service

dans le fichier nginx.service.

J'espère que cela t'aides.

3
Lewis M