Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

656
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!