Linode byla zase vylepšená~ Ale protože starý počítač v japonské počítačové místnosti bude trvat pár týdnů, nemůžu se dočkat, tak jsem otevřel nový stroj, plánoval jsem se vrátit domů a mimochodem zametat zbytečný odpad ze serveru.
Nový stroj používá instalační skript lnmp jedním kliknutím, který jsem napsal sám (ve skutečnosti je většina kódu online = =##), a po vytvoření skriptu na DigitalOcean jsem ho dal na Linode k instalaci. Instalace a přesun nebyl problém, ale jakmile se po instalaci restartoval, objevil se problém.
Po restartu je logické, že by se Nginx měl spustit automaticky, ale i po dlouhém čekání není web stále přístupný. Přihlaste se do SSH a provedte:
Service nginx Start
Spusť Nginx ručně a web bude brzy dostupný. Skript pro samospouštění je v pořádku a s ručním startováním není problém, proč se nginx prostě nespustí?
Když jsem procházel záznamy, našel jsem větu jako tato:
2014/05/02 17:02:28 [emerg] 2912#0: přiřadit() k [2400:8900::f03c:91ff:fe6e:5889]:80 neúspěšně (99: Nelze přiřadit požadovanou adresu)
Mám pocit, že při spuštění Nginx ipv6 nebyl inicializován, takže spuštění selhalo. Když se přihlásím do SSH a ručně spustím Nginx, IPv6 už bylo inicializováno, takže může začít normálně.
Asi jsem uhodl důvod, jak to vyřešit? Po dlouhém dni googlení jsem našel podobný problém a řešení na ServerFault a zaznamenám to zde.
Vložte do /etc/sysctl.conf:
- sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Kopírovat kód Nebo:
Přidejte řádek do /etc/network/interfaces:
- post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Kopírovat kód Používám tuto druhou metodu k řešení problému.
|