Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 12629|Risposta: 0

[Web] L'autoavvio Nginx fallì

[Copiato link]
Pubblicato su 30/05/2015 23:46:28 | | |

Linode è stato aggiornato di nuovo~ Ma poiché la vecchia macchina nella sala computer giapponese richiederà qualche settimana per essere aggiornata, non vedo l'ora, così ho aperto una nuova macchina, pianificando di tornare a casa e, tra l'altro, di spazzare via la spazzatura inutile sul server.

La nuova macchina usa lo script di installazione lnmp a un clic che ho scritto io stesso (in effetti, la maggior parte del codice si trova online = =##), e dopo aver creato lo script su DigitalOcean, l'ho messo su Linode per l'installazione. Non c'è stato alcun problema con l'installazione e il trasloco, ma appena è stato riavviato dopo l'installazione, è stato un problema.


Dopo il riavvio, è logico pensare che Nginx debba avviarsi automaticamente, ma dopo aver aspettato a lungo, il sito web non può ancora essere accessibile. Accedi a SSH ed esegui:

Inizio servizio Nginx

Lancia Nginx manualmente e il sito web sarà accessibile in pochissimo tempo. Lo script di avvio autonomo va bene, e non c'è problema con l'avvio manuale, perché nginx semplicemente non si avvia?

Guardando nei log, ho trovato una riga come questa:

02/05/2014 17:02:28 [emergenza] 2912#0: bind() a [2400:8900::f03c:91ff:fe6e:5889]:80 fallito (99: impossibile assegnare l'indirizzo richiesto)

Sembra che all'avvio di Nginx, IPv6 non sia stato inizializzato, quindi l'avvio non è stato attivato. Quando accedo a SSH e avvio manualmente Nginx, IPv6 è già stato inizializzato, quindi può partire normalmente.

Probabilmente avete indovinato il motivo, come risolvere la cosa? Dopo una lunga giornata su Google, ho trovato un problema e una soluzione simili su ServerFault, e la registrerò qui.

Inserisci in /etc/sysctl.conf:
  1. sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Copia codice
O:

Aggiungi una linea in /etc/network/interface:
  1. post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Copia codice
Io uso quest'ultimo metodo per risolvere il problema.




Precedente:Informazioni su Discuz! (X3.1) Come abilitare la crittografia https
Prossimo:Progetti partecipanti alla Houpu Cup
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com