nginx boot issues with centos7
Konstantin Pavlov
thresh at nginx.com
Wed Apr 29 16:51:44 UTC 2015
On 29/04/2015 19:49, Konstantin Pavlov wrote:
> 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
Or, if one uses NetworkManager:
# systemctl enable NetworkManager-wait-online.service
--
Konstantin Pavlov
More information about the nginx
mailing list