doganddev
Accueil Blog Boutique

Héberger un site Node.js sur Plesk

DOG&DEV · 25/01/2025

Paquets Logiciels Testing Node.js Reverse Proxy
Héberger un site Node.js sur Plesk

Héberger un site Node.js sur Plesk

L’extension Node.js de Plesk permet d’exécuter une application Node (Express, Next.js, Nuxt, etc.) sur un domaine ou sous-domaine, avec reverse proxy, variables d’environnement et, selon la version, gestion de processus (PM2). Ce guide décrit la configuration de base.

Prérequis

  • Plesk installé avec un domaine (plesk-config-domaine)
  • Extension Node.js installée et activée (Extensions Plesk)
  • Projet Node.js prêt (dépendances installables via npm install)

Activer Node.js pour le domaine

  1. Domainesvotredomaine.comNode.js (ou Applications → Node.js).
  2. Activer Node.js pour ce domaine.
  3. Choisir la version (ex. 18.x, 20.x, 22.x) selon la compatibilité de votre projet.

Structure du projet et script de démarrage

  • Déployez les fichiers (FTP, SFTP, Git, déploiement Plesk) dans le répertoire du domaine (ex. httpdocs ou un sous-dossier dédié comme app).
  • Point d’entrée : indiquez le fichier de démarrage, par ex. :
    • server.js (Express)
    • app.js
    • npm start (script défini dans package.json)

Dans Node.js pour le domaine, renseignez :

  • Mode d’application : Application (ou Passenger si disponible) ou Run script.
  • Script / commande : server.js, app.js, ou npm start selon la config.

Pour Next.js en production :

  • Build : npm run build
  • Démarrer : npm start (ou node .next/standalone/server.js si mode standalone). Adaptez le Document Root et le reverse proxy si vous servez du statique.

Reverse proxy et Document Root

  • Plesk configure en général un reverse proxy (Nginx ou Apache) vers le port où écoute Node (ex. 3000, 8080). Ce port est souvent attribué automatiquement ou défini dans les paramètres Node.js.
  • Document Root : pour une SPA ou des assets, vous pouvez garder la racine pointant vers le dossier public de l’app (ex. out, build, public) et faire proxyifier uniquement l’API vers Node. Pour une app full-Node (Express, Next), la racine est souvent proxifiée vers Node.

Voir la doc Plesk et nginx-phpfpm-linux pour les principes de reverse proxy.

Variables d’environnement

Dans la section Node.js du domaine : Variables d’environnement (ou Environment variables). Ajoutez par ex. :

  • NODE_ENV=production
  • PORT=3000 (si l’app lit process.env.PORT)
  • DATABASE_URL, API_KEY, etc.

Évitez d’y mettre des secrets en clair si le panel est partagé ; préférez des fichiers .env avec des droits restrictifs ou des mécanismes sécurisés de votre hébergeur.

PM2 (si disponible)

Certaines versions ou extensions Plesk intègrent PM2 pour gérer le processus Node (redémarrage, logs, montée en charge). Si proposé :

  • Choisir PM2 comme mode d’exécution.
  • Vérifier le script de démarrage et les variables d’environnement.

En l’absence d’intégration PM2, l’app peut être gérée par le mécanisme par défaut (Passenger, systemd, etc.) selon l’installation Plesk.

Exemple Express minimal

  • package.json : "start": "node server.js"
  • server.js : écoute sur process.env.PORT || 3000 et sert l’app.

Dans Plesk : Run script ou Applicationserver.js ou npm start, et renseigner les variables si besoin.

Dépannage

Symptôme Cause possible Correctif
502 Bad Gateway App non démarrée, mauvais port, crash Vérifier les logs (Node.js, Nginx/Apache) ; npm install et npm start manuels ; port dans les variables d’env
404 sur les routes Reverse proxy, base URL Vérifier que tout le trafic (ou le bon préfixe) est proxifié vers Node
Module non trouvé node_modules absent ou mauvais cwd Lancer npm install dans le répertoire du projet ; vérifier le répertoire de travail dans Plesk

Bonnes pratiques

  • Utiliser NODE_ENV=production et npm install --omit=dev en production.
  • Ne pas exposer le port Node directement ; garder le reverse proxy (Plesk) en frontal.
  • Pour comparer avec une stack PHP : laravel-plesk-website ; pour Nginx seul : nginx-phpfpm-linux.

Ressources


Cet article s’inscrit dans notre série de guides hébergement et gaming. Pour un serveur sur-mesure, contact.

Commentaires (0)

Laisser un commentaire