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