Hello Aidan, On 29/04/2015 19:33, Aidan Scheller wrote: > Greetings, > > It appears that nginx has difficulties starting automatically in CentOS > 7 when it needs to resolve DNS names in the configuration. I'm > attributing this to systemd. Nginx stable was installed from packages. > > [admin@nginx ~]$ nginx -v > nginx version: nginx/1.8.0 > > [admin@nginx ~]$ cat /etc/nginx/conf.d/default.conf > server { > location / { > proxy_pass http://web01.mycorp.lan:8080; > } > } > > When the system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to make a DNS query. > > [admin@nginx ~]$ sudo systemctl status nginx.service > nginx.service - nginx - high performance web server > Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled) > Active: failed (Result: exit-code) since Wed 2015-04-29 11:11:42 CDT; > 1min 30s ago > Docs: http://nginx.org/en/docs/ > Process: 1141 ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf > (code=exited, status=1/FAILURE) > Apr 29 11:11:42 nginx.mycorp.lan nginx[1141]: nginx: [emerg] host not > found in upstream "web01.mycorp.lan...f:38 > Apr 29 11:11:42 nginx.mycorp.lan nginx[1141]: nginx: configuration file > /etc/nginx/nginx.conf test failed > Apr 29 11:11:42 nginx.mycorp.lan systemd[1]: nginx.service: control > process exited, code=exited status=1 > Apr 29 11:11:42 nginx.mycorp.lan systemd[1]: Failed to start nginx - > high performance web server. > Apr 29 11:11:42 nginx.mycorp.lan systemd[1]: Unit nginx.service entered > failed state. > > This is the default configuration file for nginx.service in systemd. > > [admin@nginx ~]$ sudo cat /usr/lib/systemd/system/nginx.service > Description=nginx - high performance web server > Documentation=http://nginx.org/en/docs/ > After=network.target remote-fs.target nss-lookup.target > > I've determined that adding network-online.target resolves the problem > and allows nginx to start properly upon boot. > > [admin@nginx ~]$ sudo cat /usr/lib/systemd/system/nginx.service > Description=nginx - high performance web server > Documentation=http://nginx.org/en/docs/ > After=network.target network-online.target remote-fs.target > nss-lookup.target > Requires=network-online.target > > Is this a problem that can be addressed by the nginx team?
I believe the proper way to fix that issue is: # systemctl enable systemd-networkd-wait-online.service I am reluctant in adding this as a dependancy for the default package because of the issues described in http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ (notably, a possible 90s delay). -- Konstantin Pavlov _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx