Linode ir atkal uzlabots ~ Bet, tā kā vecā mašīna japāņu datortelpā aizņems dažas nedēļas, lai atjauninātu, es nevaru gaidīt, tāpēc es atvēru jaunu mašīnu, plānojot pārcelties uz mājām, un, starp citu, slaucīt nevajadzīgos atkritumus serverī.
Jaunā mašīna izmanto lnmp viena klikšķa instalēšanas skriptu, ko es pats uzrakstīju (patiesībā lielākā daļa koda ir atrodama tiešsaistē = =##), un pēc skripta izveides DigitalOcean es to ievietoju Linode, lai instalētu. Ar uzstādīšanu un pārvietošanu nebija problēmu, bet, tiklīdz tas tika restartēts pēc instalēšanas, radās problēma.
Pēc restartēšanas ir saprotams, ka Nginx jāsāk automātiski, taču pēc ilgas gaidīšanas vietnei joprojām nevar piekļūt. Piesakieties SSH un izpildiet:
pakalpojums nginx sākt
Palaidiet Nginx manuāli, un vietne būs pieejama īsā laikā. Pašpalaišanas skripts ir labi, un nav problēmu ar manuālu palaišanu, kāpēc nginx vienkārši nesākas?
Aplūkojot žurnālus, es atradu šādu līniju:
2014/05/02 17:02:28 [emerg] 2912#0: bind() to [2400:8900::f03c:91ff:fe6e:5889]:80 neizdevās (99: nevar piešķirt pieprasīto adresi)
Šķiet, ka, startējot Nginx, ipv6 nav inicializēts, tāpēc startēšana neizdevās. Kad es piesakos SSH un manuāli startēju Nginx, ipv6 jau ir inicializēts, tāpēc tas var sākties normāli.
Droši vien uzminēja iemeslu, kā to atrisināt? Pēc garas Google dienas es atradu līdzīgu problēmu un risinājumu vietnē ServerFault, un es to ierakstīšu šeit.
Ievietojiet /etc/sysctl.conf:
- sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Kopēt kodu Vai:
Pievienojiet rindu /etc/network/interfaces:
- post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Kopēt kodu Es izmantoju pēdējo metodi, lai atrisinātu problēmu.
|