Linode ha sido actualizado otra vez~ Pero como la máquina antigua en la sala de ordenadores japonesa tardará unas semanas en actualizarse, no puedo esperar, así que abrí una máquina nueva, planeando mudarme a casa y, por cierto, limpiar la basura innecesaria del servidor.
La nueva máquina usa el script de instalación de un solo clic de LNMP que yo mismo escribí (de hecho, la mayor parte del código se encuentra en línea = =##), y después de hacer el script en DigitalOcean, lo puse en Linode para instalarlo. No hubo ningún problema con la instalación ni con el traslado, pero en cuanto se reinició tras la instalación, surgió un problema.
Tras reiniciar, tiene sentido que Nginx debería iniciarse automáticamente, pero tras esperar mucho tiempo, la web sigue sin poder accederse. Inicia sesión en SSH y ejecuta:
Inicio del servicio Nginx
Lanza Nginx manualmente y la web estará accesible en poco tiempo. El script de inicio automático está bien, y no hay problema con el arranque manual, ¿por qué nginx simplemente no arranca?
Al revisar los registros, encontré una línea como esta:
02/05/2014 17:02:28 [emergencia] 2912#0: bind() a [2400:8900::f03c:91ff:fe6e:5889]:80 fallido (99: No se puede asignar la dirección solicitada)
Parece que al iniciar Nginx, IPv6 no se ha inicializado, así que el arranque falló. Cuando inicio sesión en SSH y inicio Nginx manualmente, IPv6 ya está inicializado, así que puede arrancar normalmente.
Probablemente adivinaste la razón, ¿cómo solucionarlo? Después de un largo día en Google, encontré un problema y una solución similares en ServerFault, y lo registraré aquí.
Inserta en /etc/sysctl.conf:
- sysctl -w net.ipv6.conf.eth0.dad_transmits=0
Copiar código O:
Añade una línea en /etc/network/interfaces:
- post-up while ip -6 addr show tentative | grep . > /dev/null ; do sleep 1 ; done
Copiar código Yo uso este último método para resolver el problema.
|