오류 로그에서 nginx 구성처럼 보입니다. 파일에는 명시적인 IP 주소를 가진 청취 지시문이 있습니다.
listen a.b.c.d:443
네트워크 인터페이스가없는 한이 수단의 nginx가 시작되지 않습니다 와 는 IP ABCD가 인터페이스에 할당되었습니다.
두 가지 옵션이 있습니다.
- 청취 지시문을 다음과 같이 변경하십시오. (모든 IP 주소에 바인딩)
- nginx가 네트워크 온라인에 의존하도록하십시오.
http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/에 설명 된 것처럼 network.target 은 네트워크 관리 스택이 작동 중임을 나타냅니다. [...] 네트워크 인터페이스가 도달했을 때 이미 구성되어 있는지 여부 정의되지 않았습니다.
IP 주소가 이미 할당되어 있고 인터페이스가 작동 중인지 확인하려면 nginx의 시스템 단위 파일에 network-online.target을 추가해야합니다.
/etc/systemd/system/multi-user.target.wants/nginx.service 파일의 After = 및 Requires = 행에 network-online.target이 있어야합니다.
[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target network-online.target
Requires=network-online.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