J'ai cette application de nœud déployée et fonctionne correctement avec NODE_ENV=production yarn start
.
Je peux diaboliser l'application en utilisant
pm2 start npm -- start
mais il est par défaut NODE_ENV=development
config.
Et quand j'utilise
pm2 start npm -- start NODE_ENV=production
Il commence toujours par development
config.
J'ai aussi essayé de passer l'env en utilisant un process.yml
fichier
apps:
- script : index.js
watch: true
instances: 4
env :
NODE_ENV: production
mais pm2 start npm -- start process.yml
charge toujours les configurations de développement.
Comment puis-je réparer cela?
La raison pour laquelle vous pourriez être confronté à cela est que vous auriez commencé pm2
avec development
une fois. Maintenant, il utilisera cet env jusqu'à ce que vous le kill
. Suivre ces étapes devrait aider
./node_modules/.bin/pm2 kill
NODE_ENV=production ./node_modules/.bin/pm2 start server.js
Vous pouvez aussi utiliser --update-env
. De la documents officiels
Par défaut, nous voulons que PM2 ne change pas l'environnement de processus lors du redémarrage ou du rechargement afin qu'ils soient immuables. Si vous souhaitez les mettre à jour, vous devez utiliser --update-env: