Z dziennika błędów wygląda konfiguracja nginx. plik ma dyrektywę Listen z jawnym adresem IP:
listen a.b.c.d:443
Oznacza to, że nginx nie rozpocznie chyba że interfejs jest włączony i ABCD IP został przypisany do interfejsu.
Masz dwie opcje:
- zmień dyrektywę Listen na: Listen 443; (powiąż ze wszystkimi adresami IP)
- uzależnić nginx od network-online.target
Jak opisano w http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ the network.target wskazuje tylko, że stos zarządzania siecią jest w stanie [...] Czy jakiekolwiek interfejsy sieciowe są już skonfigurowane, gdy zostaną osiągnięte jest niezdefiniowany.
Jeśli chcesz się upewnić, że adres IP jest już przypisany, a interfejs działa, musisz dodać network-online.target do pliku systemowej jednostki nginx.
Twój plik /etc/systemd/system/multi-user.target.wants/nginx.service powinien mieć sieć-online.target w wierszach After = i wymaga =.
[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target network-online.target
Requires=network-online.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target