Une fois votre application Node.js déployée sur un VPS, lancer node app.js directement l'arrête dès que vous fermez la session SSH. La production exige un gestionnaire de processus, un démarrage automatique au boot et un reverse proxy. Ce guide s'appuie sur PM2 et Nginx.
1. Installer Node.js (nvm recommandé)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
node -v && npm -v
2. Déployer votre code
git clone https://your-repo.git app
cd app
npm install --production
3. Le maintenir en vie avec PM2
npm install -g pm2
pm2 start app.js --name myapp
pm2 status
pm2 logs myapp
Faites en sorte que PM2 relance l'application après un redémarrage :
pm2 save
pm2 startup # exécutez ensuite la ligne sudo affichée
4. Reverse proxy avec Nginx (ports 80/443)
En supposant que l'application écoute sur le port 3000, créez une configuration de site :
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Testez puis rechargez : sudo nginx -t && sudo systemctl reload nginx. Émettez ensuite un certificat SSL avec Certbot pour servir en HTTPS.
5. Problèmes fréquents
- Port déjà utilisé : identifiez-le et libérez-le avec
lsof -i:3000. - Redémarrages dus à une fuite mémoire :
pm2 start app.js --max-memory-restart 300M. - Mise à jour du code :
git pull && npm install && pm2 reload myapp(rechargement sans coupure).
Besoin d'aide pour un déploiement ? Contactez le service commercial sur Telegram @aliyun370.