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: nginx documentation
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=nginx documentation
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=nginx documentation
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?
Many thanks.
Aidan