Linode buvo atnaujintas vėl ~ Bet kadangi senas aparatas Japonijos kompiuterių kambaryje užtruks kelias savaites atnaujinti, aš negaliu laukti, todėl aš atidariau naują mašiną, planuodamas persikelti namo, ir, beje, nušluoti nereikalingas šiukšles serveryje.
Naujasis įrenginys naudoja lnmp vieno paspaudimo diegimo scenarijų, kurį parašiau pats (tiesą sakant, didžioji dalis kodo yra internete = =##), o sukūręs scenarijų DigitalOcean, įdėjau jį į Linode, kad įdiegčiau. Diegimo ir perkėlimo problemų nebuvo, tačiau kai tik jis buvo paleistas iš naujo po įdiegimo, kilo problema.
Paleidus iš naujo, logiška, kad "Nginx" turėtų įsijungti automatiškai, tačiau ilgai laukus svetainės vis tiek negalima pasiekti. Prisijunkite prie SSH ir vykdykite:
Paslauga NGINX Pradėti
Paleiskite "Nginx" rankiniu būdu ir svetainė bus pasiekiama akimirksniu. Savaiminio paleidimo scenarijus yra gerai, ir nėra jokių problemų su rankiniu paleidimu, kodėl nginx tiesiog neprasideda?
Peržiūrėjęs rąstus, radau tokią eilutę:
2014/05/02 17:02:28 [emerg] 2912#0: bind() to [2400:8900::f03c:91ff:fe6e:5889]:80 nepavyko (99: neįmanoma priskirti prašomo adreso)
Atrodo, kad paleidžiant Nginx, ipv6 nebuvo inicijuotas, todėl paleidimas nepavyko. Kai prisijungiu prie SSH ir rankiniu būdu paleidžiu Nginx, ipv6 jau buvo inicijuotas, todėl jis gali paleisti normaliai.
Tikriausiai atspėjote priežastį, kaip ją išspręsti? Po ilgos "Google" dienos radau panašią problemą ir sprendimą "ServerFault", ir įrašysiu jį čia.
Įterpti į /etc/sysctl.conf:
- sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Kopijuoti kodą Arba:
Pridėti eilutę į /etc/network/interfaces:
- post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Kopijuoti kodą Aš naudoju pastarąjį metodą, kad išspręsčiau problemą.
|