SOCL.cz
blog nejen o Internetu

Nginx nestartuje po bootu (Centos 8)

publikováno 6. 10. 2020 v 15:22 (aktualizováno 13. 9. 2021)

Stavím teď jeden malý (poštovní) server na systému Centos 8 a narazil jsem na zajímavý problém, kdy mi nechce po startu serveru naběhnout nginx, který používám jako reverzní proxy. Zatracený systemd!

nginx logo

Dovolím si jen krátký zápisek a rychlé řešení. Prostě mi na novém serveru po startu nenaběhne nginx:

● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2020-10-06 15:05:40 CEST; 19s ago
  Process: 721 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE)
  Process: 716 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)

říj 06 15:05:38 vhost8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
říj 06 15:05:40 vhost8 nginx[721]: nginx: [warn] "ssl_stapling" ignored, host not found in OCSP responder "statusd.digitalcertvalidation.com" in the certificate "/etc/pki/tls/certs/fullchain.pem"
říj 06 15:05:40 vhost8 nginx[721]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
říj 06 15:05:40 vhost8 nginx[721]: nginx: [emerg] bind() to 172.16.30.8:80 failed (99: Cannot assign requested address)
říj 06 15:05:40 vhost8 nginx[721]: nginx: configuration file /etc/nginx/nginx.conf test failed
říj 06 15:05:40 vhost8 systemd[1]: nginx.service: Control process exited, code=exited status=1
říj 06 15:05:40 vhost8 systemd[1]: nginx.service: Failed with result 'exit-code'.
říj 06 15:05:40 vhost8 systemd[1]: Failed to start The nginx HTTP and reverse proxy server.

Jak můžete vidět, je tam problém i se ssl_staplingem. Problém spatřuju v tom, že nginx naběhne moc brzo, když ještě není pořádně nahozena síť. Jelikož jsem tento nesmysl řešil už kdysi dávno v Centos 7, pamatuju si ještě rychlé řešení.

Soubor /usr/lib/systemd/system/nginx.service zkopírujeme do /etc/systemd/system a upravíme:

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

[Service]
...

Po uložení provedeme příkaz:

systemctl daemon-reload

A pak můžeme provést reboot serveru a vše by už mělo naběhnout v pořádku a bez záseku. Nově vytvořený soubor přepíše původní nastavení služby.

štítky: linux nginx systemd
1958x přečteno

Komentáře k článku (0)

Zatím nikdo nic nenapsal, chcete být první?
Vaše jméno/přezdívka: (max 40 znaků)

Web: (nepovinné, zadejte s http(s)://, max 100 znaků)

Opiště sekvenci znaků:

captcha!

Zde napište komentář: (max 512 znaků)

Copyright © 2015-2024 SOCL.cz, RSS 2.0 RSS kanál blogu
Všechna práva vyhrazena, nebo tak nějak.

WEDOS BANNER