2 votes

Déployer node.js en production

Quelles sont les meilleures pratiques pour déployer une application nodejs en production ?

J'aimerais savoir comment se fait le déploiement des Api's nodejs de production, aujourd'hui mon application est dans docker et fonctionne localement.

Je me demande si je dois utiliser un Nginx à l'intérieur du conteneur et déployer mon serveur dessus ou simplement télécharger mon nœud image qui fonctionne déjà aujourd'hui.

*J'ai besoin d'une répartition des charges

3voto

rsp Points 11526

Il existe quelques grands types de déploiement qui sont populaires aujourd'hui.

  1. Utilisation d'une plateforme en tant que service comme Heroku
  2. Utiliser un VPS comme AWS, Digital Ocean, etc.
  3. Utilisation d'un serveur dédié

Cette liste est classée par ordre croissant de difficulté et de maîtrise. Ainsi, c'est plus facile avec le PaaS, mais vous avez plus de contrôle avec un serveur dédié - mais cela devient nettement plus difficile, surtout lorsque vous avez besoin d'évoluer et de construire des clusters.

Voir cette réponse pour plus de détails sur la façon d'installer Node sur un VPS ou un serveur dédié :

2voto

twg Points 763

Je peux seulement ajouter mon expérience sur AWS en utilisant une passerelle NAT qui est un serveur Node dédié avec un serveur MongoDB derrière la passerelle. (Il s'agit évidemment d'un système et d'un projet évolutifs).

  1. Avec ou sans Docker, vous devez contrôler l'environnement de production. Cela signifie définir clairement les bibliothèques NPM dont vous aurez besoin pour la production, la façon dont vous gérez les variables d'environnement et les clusters pour les cœurs.

  2. Je vous conseille vivement d'utiliser un outil tel que PM2 pour gérer les clusters, les arrêts et redémarrages de serveurs et les journaux. (Workers et esclaves également si vous en avez besoin et si vous codez pour eux).

Cette liste peut être longue, mais gardez à l'esprit qu'il s'agit uniquement d'une perspective AWS. Configurer correctement une passerelle sur AWS n'est pas non plus un processus facile. Soyez prêt à faire face à quelques Je t'ai eu en cours de route.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X