A Linode ismét frissítve lett~ De mivel a japán számítógépteremben lévő régi gép pár hétig tart, hogy felújítsa, alig várom, ezért nyitottam egy új gépet, hazaköltözöm, és egyébként eltakarítom a szerverről a felesleges szemetet.
Az új gép az lnmp egykattintásos telepítési szkriptet használja, amit magam írtam (valójában a kód nagy része online van = =##), és miután elkészítettem a szkriptet, a DigitalOcean-on feltettem a Linode-ra a telepítéshez. Nem volt gond a telepítéssel és a mozgatással, de amint a telepítés után újraindították, már probléma is felmerült.
Újraindítás után logikus, hogy a Nginxnek automatikusan el kellene indulnia, de hosszú várakozás után a weboldal továbbra sem érhető el. Jelentkezz be az SSH-ba és hajtsd végre:
Nginx Start-i szolgálat
Ha manuálisan indítsd el a Nginx-et, a weboldal hamarosan elérhetővé válik. Az öninduló szkript rendben van, és nincs probléma a kézi indítással, miért nem indul be a nginx?
A naplókat átnézve találtam egy ilyen vonalat:
2014/05/02 17:02:28 [emerg] 2912#0: bind() to [2400:8900::f03c:91ff:fe6e:5889]:80 failed (99: Nem lehet rendelni a kért címet)
Úgy tűnik, amikor Nginx indításakor, az IPv6 még nem lett inicializálva, így az indítás meghibásodott. Amikor bejelentkezem az SSH-ra és manuálisan indítom el a Nginx-et, az IPv6 már inicializálódott, így normálisan el tud.
Valószínűleg kitaláltad az okot, hogyan lehet megoldani? Egy hosszú Google nap után találtam hasonló problémát és megoldást a ServerFaulton, és itt rögzítem.
Kerüld be a /etc/sysctl.conf fájlba:
- sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Kód másolása Vagy:
Hozzáadj egy sort az /etc/network/interfaces fájlba:
- post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Kód másolása Én az utóbbi módszert használom a probléma megoldására.
|