1

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

4

1 回答 1

3

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

更改默认值:
[Unit]
Description=nginx HTTP 和反向代理服务器
After=network.target remote-fs.target nss-lookup.target

到:
[Unit]
Description=nginx HTTP 和反向代理服务器
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

于 2020-01-17T15:16:55.420 回答