Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 12629|Svar: 0

[Web] Nginx selv-opstart fejlede

[Kopier link]
Opslået på 30/05/2015 23.46.28 | | |

Linode er blevet opgraderet igen~ Men fordi den gamle maskine i det japanske computerrum vil tage et par uger at opgradere, kan jeg næsten ikke vente, så jeg åbnede en ny maskine, planlagde at flytte hjem, og for resten, feje det unødvendige skrald væk på serveren.

Den nye maskine bruger det lnmp one-click installationsscript, jeg selv har skrevet (faktisk findes det meste af koden online = =##), og efter at have lavet scriptet på DigitalOcean, lagde jeg det på Linode for at installere. Der var ingen problemer med installation og flytning, men så snart den blev genstartet efter installationen, opstod der et problem.


Efter genstart er det rimeligt, at Nginx burde starte automatisk, men efter lang ventetid kan hjemmesiden stadig ikke tilgås. Log ind på SSH og udfør:

Service nginx start

Start Nginx manuelt, og hjemmesiden vil være tilgængelig på ingen tid. Det selvstartende script fungerer fint, og der er ikke noget problem med manuel opstart, hvorfor starter nginx bare ikke?

Da jeg kiggede gennem logbøgerne, fandt jeg en linje som denne:

2014/05/02 17:02:28 [emerg] 2912#0: bind() til [2400:8900::f03c:91ff:fe6e:5889]:80 mislykkedes (99: Kan ikke tildele den ønskede adresse)

Det føles som om, at når jeg starter Nginx, er IPv6 ikke blevet initialiseret, så opstarten fejlede. Når jeg logger ind på SSH og manuelt starter Nginx, er IPv6 allerede initialiseret, så det kan starte normalt.

Har sikkert gættet på grunden, hvordan løser man det? Efter en lang dag med Google fandt jeg et lignende problem og en løsning på ServerFault, og jeg vil notere det her.

Indsæt i /etc/sysctl.conf:
  1. sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Kopier kode
Eller:

Tilføj en linje i /etc/network/interfaces:
  1. post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Kopier kode
Jeg bruger sidstnævnte metode til at løse problemet.




Tidligere:Om Discuz! (X3.1) Sådan aktiverer du https-kryptering
Næste:Houpu Cup deltagende projekter
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com