在CentOS 7系统启动期间,Nginx启动失败,并出现以下错误:
2014/08/04 17:27:34 [emerg] 790#0: bind() to a.b.c.d:443 Failed (99: Cannot assign requested address)
我怀疑这种情况正在发生,因为在尝试绑定到该IP地址以通过SSL服务vhost之前,网络接口尚未启动.
我的猜测是我需要指定network.service作为Nginx.service的一个要求,但我根本找不到/ etc / systemd /中的网络服务.
如何在systemd中配置服务订单或依赖项?
在单元文件的[Unit]部分中,您至少需要After = network.target,以确保在启动Nginx之前网络已启动.我不知道为什么你的单位文件没有它.
这是Fedora提供的方便的Fedora系统的完整示例:
[Unit] Description=The Nginx HTTP and reverse proxy server After=syslog.target network.target remote-fs.target nss-lookup.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