web-dev-qa-db-fra.com

hébergement de l'application nodejs dans EC2

Je suis intéressé par l'hébergement d'applications de nodejs dans un nuage et je recherche un hébergement en nuage gratuit pour mes besoins. J'ai découvert qu'Amazon en avait un, mais la question qui se pose est la suivante: existe-t-il des tutoriels sur la configuration et l'exécution de l'application nodejs dans Amazon EC2?

EDIT: Pouvez-vous fournir de bons hébergements pour nodejs (sauf heroku)?

25
Erik

J'utilise Node.js avec Amazon EC2 depuis un moment et j'étais plutôt satisfait des deux. Pour le moment, AWS semble être le fournisseur de cloud le moins cher et le plus robuste, donc choisir Amazon ne serait pas une erreur. L'exécution de Node.js dans le cloud n'a rien de spécial. Vous travaillez avec cela comme s'il s'agissait de votre propre PC. Voici quelques étapes générales à suivre pour la plus simple application Node.js s'exécutant sur le serveur EC2 Ubuntu:

  1. Créer Compte Amazon EC2 .

  2. Depuis la console AWS, démarrez l'instance t1.micro avec n'importe quelle AMI Ubuntu ( exemple ).

  3. Connectez-vous via SSH à votre instance.

  4. Installez node.js: Sudo apt-get install nodejs

  5. Créez un nouveau fichier test_server.js avec le contenu suivant:

    require("http").createServer(function(request, response){
      response.writeHeader(200, {"Content-Type": "text/plain"});  
      response.write("Hello World!");  
      response.end();
    }).listen(8080);
    
  6. Démarrer le serveur: node test_server.js

  7. Vérifiez qu'il fonctionne depuis une autre console: curl http://localhost:8080

41
nab
10
almypal

Mon article de blog sur le déploiement d'applications Node-based sur EC2: http://devblog.daniel.gs/2014/01/deploying-node-apps-on-aws-ec2-with.html

Expliquant: 

  • Déploiement d'applications de nœuds à partir de votre dépôt Github (privé + public)
  • Automatiser le processus de déploiement à l'aide de scripts
  • Proxy inverse utilisant Nginx
  • et en utilisant l'utilitaire Forever.

J'espère que cela t'aides.

5
Daniel K.

Sur la base de ce tutorial , voici une mise à jour étape par étape:

1) Créez un compte sur Amazon Web Services .

2) créer une instance EC2; J'ai choisi Ubuntu micro.

3) Configurez le groupe de sécurité (nommez-le "Node") et ajoutez des ports:

HTTP (80), HTTPS (443) et un port personnalisé TCP pour votre application Node (par exemple 3000)

4) Lancez l’instance et enregistrez le fichier pem (clé privée), par exemple. "node.pem".

5) Sous Windows - installez Cygwin + le paquet OpenSSH. il est également recommandé d'installer WinScp pour avoir un accès "semblable à l'explorateur" au linux.

6) Ouvrez Cygwin Terminal en tant qu’administrateur et définissez les autorisations appropriées sur le fichier "node.pem":

chown :Users node.pem
chmod 400 node.pem

7) Recherchez le nom DNS public de votre instance EC2 dans le dasboard EC2 et connectez-vous avec SSH :

ssh -i node.pem ubuntu@{your EC2 public DNS name}

8) Mettez à jour Ubuntu et installez NodeJS :

Sudo apt-get update
curl -sL https://deb.nodesource.com/setup_7.x | Sudo -E bash -
Sudo apt-get install -y nodejs
Sudo apt-get install -y build-essential

9) Copiez votre application NodeJS dans l'instance EC2 (via Cygwin ou Winscp).

10) Installez tous vos modules requis de l'application Node:

cd /home/ubuntu/My_Node_App
npm install --save

11) Réacheminez les ports avec IPtables afin que votre application soit accessible sur le port http par défaut 80:

Sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3000

Pour afficher les entrées de routage iptables, exécutez:

Sudo iptables -t nat -L

Si vous devez supprimer une entrée de routage (première ligne), exécutez:

Sudo iptables -t nat -D PREROUTING 1

12) Exécutez votre application en tant que processus en arrière-plan:

Sudo Nohup node app.js &

Pour tuer votre processus d'application:

ps -ef | grep app.js
Sudo kill {proccess id number}
4
Noam Manos

Il existe pas mal de solutions d'hébergement pour Node.js disponibles, en voici quelques unes:

Joyent

Joyent est le sponsor de l'entreprise et le propriétaire de la marque de commerce de Node.js. Il constitue une alternative attrayante à Amazon EC2 pour de nombreuses choses, pas le moindre hébergement de Node.js, bien sûr, consultez la Environnement de développement Joyent's Node.js } _ (vérifiez les conditions d'utilisation de Node.js ™ Development SmartMachine } _).

Apparemment, ils sont en train de restructurer cette offre de développement bien que:

Joyent Cloud a fourni un développement gratuit au cours de l’année écoulée bac à sable pour les utilisateurs de Node.js. Au fil du temps, la communauté a réussi clair qu'ils veulent plus d'outils et plus de capacité. À cette fin, nous sommes heureux d’annoncer un partenariat avec Nodejitsu pour fournir à tous les deux ceux-ci dans un environnement de développement Node.js de classe mondiale avec Les outils de développement et de gestion de Nodejitsu s'exécutant sur ceux de Joyent Cloud Plateforme d'infrastructure en tant que service. Le nouveau service sera lancé très prochainement.

Par conséquent, nous ne savons pas encore comment les options de tarification pour l'hébergement de production d'une solution Node.js se concrétiseront, mais compte tenu du prix { prix concurrentiel } de Joyent, je m'attendrais au moins à une option similaire.

Fonderie Cloud

Le Cloud FoundryLe projet de plate-forme ouverte en tant que service prend également en charge Node.js, parmi de nombreux autres frameworks (ce qui rend la plate-forme si excitante). La plate-forme est en train de gagner du terrain depuis peu et est entre-temps utilisé par plusieurs fournisseurs de solutions { Plate-forme en tant que service (PaaS) } _ en conséquence - parmi ceux-ci (sans ordre particulier et pas nécessairement complète):

  • AppFog - PaaS simple pour Java, Node,. Net, Ruby, PHP, MySQL, Mongo, PostgreSQL, et plus encore ... Liberté de passer de IaaS à volonté à moindre coût le nuage.
  • Cloud Foundry (VMware) } _ (sponsor de Cloud Foundry) - Déployez et mettez à l'échelle des applications en quelques secondes, sans vous enfermer dans un seul cloud.
  • Iron Foundry - Iron Foundry est un projet open source qui étend Cloud Foundry ™ à l'écosystème .NET en fournissant des services, des programmes d'installation et des outils de développement.

La plupart d'entre eux sont encore en version bêta et les prix ne sont pas encore réglés, mais compte tenu de la concurrence, je m'attendrais à ce que des options intéressantes se présentent ici au fil du temps.

1
Steffen Opel

Le moyen le plus simple d'exécuter node.js gratuitement sur EC2 consiste à utiliser IMHO sur Heroku.

0
Yusuf X

découvrez ce tutoriel complet ici . Ce tutoriel explique comment installer Node.js sur EC2, configurer les ports HTTP et nginx pour le transfert de port, ainsi que pour utiliser Supervisor afin de l'exécuter à tout jamais, car il s'arrête normalement à la fermeture de votre session de console SSH.

0
techprd.com

Je viens de parcourir le didacticiel d’inscription et d’application Heroku. Cela n'aurait pas pu être plus facile. Quelle expérience délicieuse ...

... jusqu'au point où vous ne pouvez pas avoir une instance MongoDB en tant que vitesse libre. Le coût minimum (autre qu'un mois d'essai gratuit) est de 18 $ par mois par Go de stockage.

Honnêtement, le meilleur choix est alors Openshift. Il dispose de trois engrenages gratuits, ce qui est suffisant pour beaucoup de choses pour débutants comme ce que je fais. Heroku et Openshift font tous deux partie de l'espace d'Amazon, mais leur interface client est différente. Je pensais que Heroku était plus facile pour les débutants, mais comme je l'ai dit, il n'y a pas de repas gratuit dans la base de données.

0