З журналу помилок це схоже на ваш nginx config. файл має директиву прослуховування з явним ip адресою:
listen a.b.c.d:443
Це означає , що Nginx не запуститься , якщо мережевий інтерфейс не залежить і IP - ABCD був призначений інтерфейсу.
У вас є два варіанти:
- змінити директиву прослуховування на: прослуховувати 443; (прив’язати до всіх ip-адрес)
- зробити nginx залежним від network-online.target
Як описано в http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ the network.target вказує лише на те, що стек управління мережею налаштований [...] Чи вже налаштовані якісь мережеві інтерфейси при його досягненні не визначено.
Якщо ви хочете переконатися, що IP-адреса вже призначена, а інтерфейс налаштований, вам потрібно додати network-online.target до файлу системного блоку nginx.
Ваш /etc/systemd/system/multi-user.target.wants/nginx.service файл повинен містити network-online.target у рядках After = і Requires =.
[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