Linode je bil spet nadgrajen~ Ker bo stari računalnik v japonski računalniški sobi potreboval nekaj tednov za nadgradnjo, komaj čakam, zato sem odprl nov računalnik, načrtoval sem selitev domov in mimogrede, pometanje nepotrebnih smeti s strežnika.
Novi računalnik uporablja lnmp namestitveni skript z enim klikom, ki sem ga napisal sam (pravzaprav je večina kode na spletu = =##), in po tem, ko sem skripto ustvaril na DigitalOceanu, sem jo namestil na Linode. Pri namestitvi in premikanju ni bilo težav, a takoj po ponovnem zagonu po namestitvi se je pojavila težava.
Po ponovnem zagonu je logično, da bi se Nginx moral samodejno zagnati, vendar po dolgem čakanju spletna stran še vedno ni dostopna. Prijavite se v SSH in izvedite:
Service nginx start
Če Nginx zaženete ročno, bo spletna stran dostopna v hipu. Skripta za samozagon je v redu in ni težav z ročnim zagonom, zakaj se nginx preprosto ne zažene?
Ko sem pregledoval dnevnike, sem našel vrstico, kot je ta:
2014/05/02 17:02:28 [emerg] 2912#0: vezava() na [2400:8900::f03c:91ff:fe6e:5889]:80 ni uspelo (99: Ni mogoče dodeliti zahtevanega naslova)
Zdi se, da ob zagonu Nginxa IPv6 še ni bil inicializiran, zato je zagon spodletel. Ko se prijavim v SSH in ročno zaženem Nginx, je IPv6 že inicializiran, tako da se lahko začne normalno.
Verjetno sem uganil razlog, kako to rešiti? Po dolgem dnevu iskanja na Googlu sem našel podoben problem in rešitev na ServerFault, ki jo bom tukaj zabeležil.
Vstavi v /etc/sysctl.conf:
- sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Kopiraj kodo Ali:
Dodajte vrstico v /etc/network/interfaces:
- post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Kopiraj kodo Jaz uporabljam slednjo metodo za rešitev problema.
|