Linode on jälle uuendatud~ Aga kuna vana arvuti Jaapani arvutiruumis võtab paar nädalat, ei jõua ma ära oodata, nii et avasin uue masina, plaanides koju kolida ja muide koristada serverist tarbetu prügi.
Uus masin kasutab ise kirjutatud lnmp ühe klikiga paigaldusskripti (tegelikult on enamik koodist veebis = =##), ja pärast skripti loomist DigitalOceanis panin selle Linode'i paigaldamiseks. Paigalduse ja liigutamisega probleeme ei olnud, kuid kohe, kui see pärast paigaldust uuesti käivitati, tekkis probleem.
Pärast taaskäivitamist on loogiline, et Nginx peaks automaatselt käivituma, kuid pärast pikka ootamist ei pääse veebilehele ikka ligi. Logi sisse SSH-sse ja käivita:
Teenus Nginx Start
Käivita Nginx käsitsi ja veebileht on peagi ligipääsetav. Isekäivitumise skript on korras ja käsitsi käivitusega pole probleemi, miks nginx lihtsalt ei käivitu?
Logisid sirvides leidsin sellise joone:
2014/05/02 17:02:28 [emerg] 2912#0: bind() to [2400:8900::f03c:91ff:fe6e:5889]:80 failed (99: ei saa määrata soovitud aadressi)
Tundub, et Nginxi käivitamisel pole IPv6 veel initsialiseeritud, seega käivitus ebaõnnestus. Kui logisin SSH-sse sisse ja käivitan käsitsi Nginxi, on IPv6 juba initsialiseeritud, nii et see saab käivituda normaalselt.
Ilmselt arvasid põhjuse, kuidas seda lahendada? Pärast pikka Google'i päeva leidsin sarnase probleemi ja lahenduse ServerFaultist ning salvestan selle siia.
Sisesta /etc/sysctl.conf:
- sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Kopeeri kood Või:
Lisa rida /etc/network/interfaces:
- post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Kopeeri kood Mina kasutan probleemi lahendamiseks viimast meetodit.
|