Node.js en service permanent

Skip to main content
Du bist hier:
Drucken

Node.js en service permanent

Vous exploitez dans Plesk une application Node.js qui doit fonctionner en permanence, par exemple votre propre serveur, un bot ou un outil de surveillance ? Il existe trois pièges typiques.

1. Fichier de démarrage au lieu d’« Exécuter un script »

Si vous démarrez une application permanente via « Exécuter un script » (par exemple npm run start), ce processus continue de tourner avec la version de Node.js sélectionnée au moment du clic. Si vous changez de version par la suite, le processus en cours ne la reprend pas.

  • Indiquez plutôt le fichier de démarrage (Application Startup File) de votre application Node.js dans Plesk, par exemple server/server.js.
  • Choisissez la version de Node.js souhaitée et cliquez sur « Redémarrer l’application ».
  • Ainsi, Plesk gère lui-même le processus et le démarre toujours avec la version choisie.

Si un ancien processus démarré via « Exécuter un script » tourne encore, il doit être arrêté une fois. Ouvrez un ticket si vous ne pouvez pas l’arrêter vous-même.

2. Les WebSockets ne fonctionnent pas

Par défaut, votre application fonctionne derrière un proxy qui ne transmet pas les connexions WebSocket. De nombreuses applications basculent alors automatiquement vers un autre mode de connexion et fonctionnent quand même. Si votre application a impérativement besoin des WebSockets (par exemple l’éditeur de Node-RED), procédez ainsi :

  • Ouvrez les « Paramètres Apache et nginx » du domaine ou sous-domaine concerné.
  • Dans la section des paramètres nginx, décochez « Mode proxy » et enregistrez.

Si votre application fonctionne aussi sans WebSockets, laissez le mode proxy activé. Testez toujours les WebSockets directement dans l’application, un simple test avec curl ne révèle pas le problème de manière fiable.

Chaque modification de ces paramètres redémarre l’application. Selon l’application, elle peut être brièvement indisponible ensuite.

3. L’application ne redémarre pas d’elle-même après un redémarrage

Plesk ne démarre une application Node.js qu’au premier appel du site web, et non automatiquement après un redémarrage du serveur web. Pour un service qui doit toujours fonctionner, créez dans Plesk sous « Tâches planifiées » une tâche de type « Récupérer une URL » qui appelle l’adresse de votre application chaque minute. Ainsi, le service redémarre automatiquement après chaque redémarrage.

Related Post