Projet Meteor, node, angular


#1

Bonjour !
J’ai pas mal d’experience avec la gestion Lamp et très peu avec tout ce qui est MVC js (node, angular, meteor) …

J’ai recuperé un simple projet meteor, j’ai reussi à le configurer et le faire fonctionner sur mon serveur seulement j’ai plusieurs questions de base :

  • quand je ferme le terminal, le site disparait quelle est la bonne pratique pour que le site soit en ligne 24H / 24H
  • comment definir un nom de domaine et ne plus avoir http://IP:3000 par exemple …

J’ai l’impression que developper en JS c’est pas très très compliqué mais le déploiement du site en prod, la gestion du serveur me semble compliquer

Si vous pouvez m’éclairer :)

Merci


#2

Je vais peut être dire une bétise, mais il me semble que le terminal est typiquement la boucle d’écoute de ton serveur. C’est donc normal que si tu le ferme, ton site ne soit plus accessible. Donc à toi de configurer correctement ton serveur via un processus parallèle (et transparent). Pour l’ip:port, il suffit de paramétrer correctement ton nom de domaine. Ces deux questions pourraient êtres posées avec PHP ceci dit. Je pense que tu as eu l’habitude d’utiliser des serveurs mutualisés.
Cependant je dis peut être des bétises car je suis une clinche en adminsys :D


#3

Salut Maxime,

Ta question est indépendante de Meteor, Node, Angular, etc.
Tu es entrain de “développer en local”. Pour simplifier le propos, tu es le seul à pouvoir accéder à ton site en local.

Pour que ton site soit accessible et visible sur internet, il te faut un hébergeur et “déployer ton code” sur cet hébergeur.

Renseigne toi sur Heroku, qui te permet de tester gratuitement une mise en ligne.
Je te déconseille OVH.


#4

Pour l’hébergement MeteorJS, en France il y a Scalingo https://scalingo.com/meteorjs-hosting (un clône de Heroku, pour simplifier). Disclaimer : j’en suis un des co-fondateurs :) Et je peux répondre à toutes vos questions à ce sujet.


#5

En effet quand tu développes, ton site est hebergé sur ta machine en local, il faut que tu le mette chez un hebergeur pour qu’il soit disponible sur le net.
Le plus simple si tu ne voulais pas ton propre nom de domaine serait de faire un

meteor deploy monsupersite

une fois effectué ton site serait dispo ici : https://monsupersite.meteor.com/
C’est de l’hébergement gratuit, mais ca te permet au moins de tester ton site en prod, accessible 24/24

Si tu veux ton propre nom de domain et gerer une charge importante il te faudra passer par un hebergeur comme ceux proposé par @yannski ou @benjamin_bnds


#6

Remplace meteor run par nohup meteor run &, cela déliera ton serveur applicatif de ton terminal. Tu pourras interrompre plus tard ton serveur applicatif avec kill.

Il faut configurer ton serveur HTTP (Apache ou Nginx) comme un reverse proxy. En gros, ça dit à ton serveur HTTP « Si tu reçois quelque chose sur tel domaine, redirige la requête vers le port de ce serveur applicatif »

Exemple de configuration minimaliste avec Nginx :

server {
    server_name DOMAINE;
    location / {
        proxy_pass http://127.0.0.1:PORT_SERVEUR_APPLICATIF;
    }
}