Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 12629|Svar: 0

[Web] Nginx självuppstart misslyckades

[Kopiera länk]
Publicerad på 2015-05-30 23:46:28 | | |

Linode har uppgraderats igen~ Men eftersom den gamla maskinen i det japanska datorrummet kommer ta några veckor att uppgradera, kan jag knappt vänta, så jag öppnade en ny maskin, planerade att flytta hem, och förresten, sopa bort onödigt skräp från servern.

Den nya maskinen använder lnmp-ett-klicks installationsskript som jag själv skrev (faktum är att det mesta av koden finns online = =##), och efter att ha gjort skriptet på DigitalOcean lade jag det på Linode för installation. Det var inga problem med installation och flytt, men så fort den startades om efter installationen uppstod ett problem.


Efter omstart är det rimligt att anta att Nginx ska starta automatiskt, men efter lång väntan kan webbplatsen fortfarande inte nås. Logga in på SSH och utför:

Tjänst nginx start

Starta Nginx manuellt, så kommer webbplatsen att vara tillgänglig på nolltid. Självstartande skriptet fungerar bra, och det finns inga problem med manuell start, varför startar nginx bara inte?

När jag gick igenom loggarna hittade jag en rad som ser ut denna:

2014/05/02 17:02:28 [emerg] 2912#0: bind() till [2400:8900::f03c:91ff:fe6e:5889]:80 misslyckades (99: Kan inte tilldela önskad adress)

Det känns som att när jag startar Nginx har IPv6 inte initialiserats, så uppstarten misslyckades. När jag loggar in på SSH och manuellt startar Nginx har IPv6 redan initierats, så det kan starta normalt.

Förmodligen gissade du orsaken, hur löser du det? Efter en lång dag med Google hittade jag ett liknande problem och en liknande lösning på ServerFault, och jag kommer att dokumentera det här.

Infoga i /etc/sysctl.conf:
  1. sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Kopiera koden
Eller:

Lägg till en linje i /etc/network/interfaces:
  1. post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Kopiera koden
Jag använder den senare metoden för att lösa problemet.




Föregående:Om Discuz! (X3.1) Hur man aktiverar https-kryptering
Nästa:Houpu Cup deltagande projekt
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com