エラーログからは、nginxの設定のように見えます。ファイルには、明示的なIPアドレスを持つlistenディレクティブがあります。
listen a.b.c.d:443
これは、ネットワークインターフェイスが起動していて、IP abcdがインターフェイスに割り当てられていない限り、nginxが起動しないことを意味します。
次の2つのオプションがあります。
- listenディレクティブを次のように変更します。listen 443; (すべてのIPアドレスにバインド)
- nginxをnetwork-online.targetに依存させる
http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/で説明されているように、network.target はネットワーク管理スタックが起動していることを示すだけです[...]到達時にネットワークインターフェイスが既に構成されているかどうか未定義です。
IPアドレスがすでに割り当てられていて、インターフェースが稼働していることを確認したい場合は、nginxのsystemdユニットファイルにnetwork-online.targetを追加する必要があります。
/etc/systemd/system/multi-user.target.wants/nginx.serviceファイルのAfter =行とRequires =行にnetwork-online.targetが必要です。
[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