Bonjour,

Je viens de me prendre un VPS chez OVH pour pouvoir tester NodeJs et Socket.io.
Cependant je suis débutant dans tout ce qui est configuration de vps.
J'ai suivi un tutoriel pour créer une petite application NodeJs. Jusque la tout va bien elle fonctionne parfaitement, elle écoute sur port 80.

A présent je voudrais pouvoir héberger plusieurs site sur ce vps. J'ai un nom de domaine (que j'appelerais ici nom-de-domaine.com) et je souhaiterais que, par exemple, site1.nom-de-domaine.com dirige vers /var/www/site1 de mon vps (application nodeJs) et que site2.nom-de-domaine.com dirige vers /var/www/site2 (par forcément application nodeJs).
Pour faire cela j'ai lu qu'il fallait apache, je l'ai donc installé et démarré.
Cependant apres cela j'obtenais une erreur lorsque je lancais l'appli node. Après quelques recherches j'ai compris que c'est parceque apache est déja sur le port 80, donc mon appli node (aussi sur le port 80) ne peut pas se lancer correctement.

Je voudrais donc savoir si il y a une solution pour avoir nodeJs et apache en meme temps.
Sinon y a t'il un autre moyen pour avoir la configuration que je désire (2 sites sur le même vps avec des noms de domaine, ou plutot sous-domaine différents).

Je précise que étant débutant dans tout cela, il me faudra pas mal d'explications pour les différents manip a faire ^^.

Je vous remerci d'avance de l'aide que vous pourrez m'apporter.

8 réponses


Salut,

Pourquoi ne pas simplement changer le port sur lequel écoute ton app ?
Tu utilises un FW (express, sails) pour NodeJS ?

Non je n'utilise pas de Framework, sinon pour le port, si je ne met pas 80 ca ne fonctionne pas.

Pourquoi donc cela ne fonctionnerait pas ?

J'ai déja essayé mais il me semble normal que ca ne marche pas car seul le port 80 permet d'accéder au site depuis internet non ? Je me trompe peut etre.

Oui tu te trompe. Le port n'a rien à voir là dedans, il est juste là pour définir plusieurs hosts pour une IP donnée.
Ma terminologie est peut être fausse, mais cela résume le principe.
Il faut juste préciser à Apache quel port écouter (tu as fait un virtualHost je suppose) ?

D'accord donc je peux mettre n'importe quel port pour node.
Non je n'ai pas fais de virtuelHost (je sais pas ce que c'est)

Comment pointe-tu sur le bon dossier alors si tu n'as pas de virtualHost ?
Tu devrais suivre cette formation : https://www.grafikart.fr/formations/serveur-linux

Salut,

Comme a dit betaWeb, tu peux changer le port sur lequel écoute nodejs en mettant 8080 par exemple. Ainsi, pour accéder à ton appli node.js tu dois ajouter :8080 à la fin de ton nom de domaine.

Si jamais tu ne veux pas ajouter le port :8080 à la fin du nom de domaine, tu peux configurer apache en tant que reverse proxy pour rediriger vers ton application node.js (dans le cas d'un sous domaine ou d'un path /nodejs, par exemple).

J'espère t'avoir aidé.