Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Serveur Cloud: application node.js (fonctionnement permanent)
Ce guide explique comment faire fonctionner une application node.js en permanence, même après un redémarrage du serveur Cloud.
Ces informations sont partagées à titre indicatif et notre support ne pourra pas vous assister en cas de problème pour suivre ces instructions. En savoir plus
1. Installer l'application node.js
- Installer l'application node.js souhaitée (ex.: Ghost, Laverna, etc.) en suivant les instructions de son éditeur.
2. Installer pm2
- se connecter en SSH à l'hébergement concerné (aide)
- exécuter la commande suivante:
npm install pm2 -g
npm install -g knex-migrator
3. Configurer le déploiement de Ghost
- Éxécuter la commande suivante:
cd website-folder
pwd - Noter le chemin de votre dossier donné par cette commande
- Créer un fichier ecosystem.json contenant :
{
"apps" : [{
"name" : "ghost",
"script" : "index.js",
"args" : [],
"watch" : true,
"node_args" : "",
"merge_logs" : true,
"cwd" : "le chemin fournis précédemment",
"env": {
"NODE_ENV": "production"
}
}]
} - Copier le fichier de configuration:
cp config.production.json current/config.production.json - Lancer la migration de base de données :
cd current
NODE_ENV=production knex-migrator init - Lancer l'application :
pm2 start ecosystem.json
4. Créer un script pour exécuter l'application Node.js en cas d'arrêt
- Créer le script "start.sh" à la racine de l'hébergement avec le contenu suivant (ne pas oublier d'adapter le chemin de l'application node.js) :
#! /bin/bash
source ~/.profile
pm2 show ghost -m | grep status | grep online > /dev/null
RUNNING=$?
if [ "${RUNNING}" -ne 0 ]; then
pm2 start ghost
fi; - Rendre le script exécutable (CHMOD 755):
chmod 755 start.sh - Créer un CRON pour exécuter le script chaque minute. Pour cela, effectuer la commande SSH suivante:
crontab -e - Ajouter la directive suivante via l'éditeur de texte vi qui s'ouvre automatiquement (ne pas oublier d'adapter le chemin du script; la commande SSH pwd permet d'afficher le chemin du dossier en cours) :
* * * * * /home/clients/XXXX/start.sh 1>/dev/null
Lien vers cette FAQ: