Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

668
Vistas
¿Alguna buena idea para corregir el error "conexión () fallida (111: conexión rechazada)" al reiniciar el servidor nodejs?

Fondo:

Uso una estructura Nginx+NodeJS para ejecutar el sitio web. El servidor tiene bastante tráfico como 300 personas concurrentes en línea. Visitando todo tipo de páginas. Y uso pm2 para administrar mis aplicaciones de nodo.

Problema:

Sin embargo, cuando reinicio el servidor del nodo con pm2 restart xxx , en un período corto (como 15 segundos), los usuarios encontrarán un error 502 . Y en consecuencia, hay "conexión () fallida (111: conexión rechazada)" en el registro.

De acuerdo con otra pregunta sobre SO.

Un error 502 Bad Gateway generalmente sugiere que el proxy (Nginx en el caso de NodeJS) no puede encontrar un destino para enrutar el tráfico.

Entonces, supongo que el error ocurre debido al momento en que un usuario solicita el servidor mientras el Nodo no está listo para su negocio. Así que mi Nginx no pudo "contactar" con mis nodos y arrojó un error 502.

¿Hay alguna forma de arreglar esto?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si desea continuar sirviendo a sus usuarios mientras reinicia su servidor Node.js, necesita un segundo servidor Node.js. Más precisamente:

  • Antes del reinicio, el node myapp.js se ejecuta y escucha en el puerto A. Nginx enruta el tráfico al puerto A.
  • Ahora puede iniciar un segundo servidor Node.js, probablemente en una versión más nueva de su aplicación, node mynewapp.js , que escucha en el puerto B. Mientras lo hace, el tráfico aún se enruta al puerto A.
  • Una vez node mynewapp.js está en funcionamiento, cambia Nginx para que enrute el tráfico al puerto B.
  • Permita un período de gracia para que finalicen las solicitudes en el puerto A, luego puede cerrar el proceso del node myapp.js .

Tenga en cuenta dos peligros potenciales con este enfoque:

  • Las solicitudes de ejecución prolongada en el puerto A le impedirían apagar el servidor Node.js "antiguo".
  • Las solicitudes que dejan un estado en el servidor Node.js (en variables globales de Javascript, por ejemplo), perderían ese estado cuando cambia al otro servidor Node.js. Pero (sesión) indica que usted escribe en una base de datos sobrevivirá.
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda