nginx boot issues with centos7
Konstantin Pavlov
thresh at nginx.com
Wed Apr 29 16:49:26 UTC 2015
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 at nginx ~]$ nginx -v
> nginx version: nginx/1.8.0
>
> [admin at 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 at 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 at 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 at 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
More information about the nginx
mailing list