CentOS8 nginx: [emerg] bind() 失败 (99: 無法分配所請求的地址)



01/17/2020 我在两台独立的服务器上安装了 CentOS 8,一台是云服务器,另一台是专用服务器。 在这两种情况下,Nginx都不会在服务器重新启动时自动启动。 两者的/var/log/boot.log 都表示网络管理器在 Nginx 之前启动,但它们显然是并行运行的,并且 Nginx 在网络初始化之前激活。 这导致Nginx错误地显示"无法分配请求的地址"。 如果我在系统启动后手动启动 Nginx,它会毫无问题地初始化。 我能够确定解决方案并将其作为答案发布,以便我可以将其标记为已解决。 由于它在两个完全不相关的安装上是一致的,我相信其他人会遇到同样的问题,并正在寻找我没有找到的答案。

此更改在两台服务器上都对我有用:
编辑/usr/lib/systemd/system/nginx.service文件

更改默认值:
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

To:
[Unit]

Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target network-online.target
Wants=network-online.target

这迫使Nginx等到网络在线后再启动.

根据本页信息:
https://unix.stackexchange.com/questions/126009/cause-a-script-to-execute-after-networking-has-started

最新更新