it-swarm.com.de

hosting Nodejs-Anwendung in EC2

Ich interessiere mich für das Hosten von nodejs-Anwendungen in einer Cloud und suche nach einem kostenlosen Cloud-Hosting für meine Zwecke. Ich habe festgestellt, dass Amazon eine hat, aber ich habe die folgende Frage: Gibt es Tutorials, wie ich nodejs-Anwendung in Amazon EC2 einrichten und ausführen kann?

EDIT: Können Sie für nodejs (außer Heroku) gute Hostings anbieten?

25
Erik

Ich benutze Node.js seit einiger Zeit mit Amazon EC2 und war mit beiden recht zufrieden. Im Moment scheint AWS der billigste und robusteste Cloud-Anbieter zu sein, daher wäre es kein Fehler, Amazon zu finden. Es ist nichts Besonderes, Node.js in der Cloud auszuführen - Sie arbeiten damit, als ob es Ihr eigener PC wäre. Nachfolgend finden Sie einige allgemeine Schritte für die einfachste Node.js-Anwendung, die auf dem Ubuntu-Server von EC2 ausgeführt wird:

  1. Erstellen Sie ein Amazon EC2-Konto .

  2. Starten Sie von der AWS-Konsole aus t1.micro-Instanz mit einem beliebigen Ubuntu-AMI ( example ).

  3. Melden Sie sich über SSH bei Ihrer Instanz an.

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

  5. Erstellen Sie eine neue Datei test_server.js mit folgendem Inhalt:

    require("http").createServer(function(request, response){
      response.writeHeader(200, {"Content-Type": "text/plain"});  
      response.write("Hello World!");  
      response.end();
    }).listen(8080);
    
  6. Starten Sie den Server: node test_server.js

  7. Überprüfen Sie, ob es von einer anderen Konsole aus funktioniert: curl http://localhost:8080

41
nab
10
almypal

Mein Blogeintrag zur Bereitstellung von Node-basierten Apps auf EC2: http://devblog.daniel.gs/2014/01/deploying-node-apps-on-aws-ec2-with.html

Erklären: 

  • Bereitstellen von Node-Apps über Ihr Github-Repo (privat + öffentlich)
  • Automatisieren des Bereitstellungsprozesses mithilfe von Skripts
  • Reverse Proxy mit Nginx
  • und Verwenden des Forever-Dienstprogramms.

Hoffe das hilft.

5
Daniel K.

Basierend auf diesem Tutorial , hier ein Schritt für Schritt aktualisiert:

1) Erstellen Sie ein Konto bei Amazon Web Services .

2) Erstellen Sie eine EC2-Instanz. Ich habe mich für Ubuntu Micro entschieden.

3) Konfigurieren Sie die Sicherheitsgruppe (nennen Sie sie "Node") und fügen Sie Ports hinzu:

HTTP (80), HTTPS (443) und ein benutzerdefinierter TCP Port für Ihre Node-App (z. B. 3000)

4) Starten Sie die Instanz und speichern Sie die PEM-Datei (privater Schlüssel), z. "node.pem".

5) Installieren Sie unter Windows das Cygwin + OpenSSH-Paket. Es wird auch empfohlen, WinScp zu installieren, um "Explorer-like" -Zugang zu Linux zu haben.

6) Öffnen Sie Cygwin Terminal als Administrator und legen Sie die korrekten Berechtigungen für die Datei "node.pem" fest:

chown :Users node.pem
chmod 400 node.pem

7) Finden Sie den öffentlichen DNS-Namen Ihrer EC2-Instanz im EC2-Dasboard und stellen Sie eine Verbindung mit SSH her :

ssh -i node.pem [email protected]{your EC2 public DNS name}

8) Update Ubuntu und installiere 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) Kopieren Sie Ihre NodeJS-Anwendung in die EC2-Instanz (über Cygwin oder Winscp).

10) Installieren Sie alle für Ihre Node-App erforderlichen Module:

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

11) Routen mit IPtables neu routen, so dass auf Ihre App über den Standard-HTTP-Port 80 zugegriffen werden kann:

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

Um die iptables-Routing-Einträge anzuzeigen, führen Sie Folgendes aus:

Sudo iptables -t nat -L

Wenn Sie den Routing-Eintrag (erste Zeile) entfernen müssen, führen Sie Folgendes aus:

Sudo iptables -t nat -D PREROUTING 1

12) Führen Sie Ihre App als Hintergrundprozess aus:

Sudo Nohup node app.js &

So beenden Sie Ihren App-Prozess:

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

Es gibt einige Hosting-Lösungen für Node.js , hier einige davon:

Joyent

Joyent ist der Unternehmenssponsor und Markeninhaber von Node.js und bietet eine ansprechende Alternative zu Amazon EC2 . Für viele Dinge, nicht für das Node.js-Hosting natürlich, siehe Joyent's Node.js-Entwicklungsumgebung (bitte beachten Sie jedoch die Node.js ™ Entwicklungs-SmartMachine-Nutzungsbedingungen .

Anscheinend strukturieren sie dieses Entwicklungsangebot jedoch nur um:

Für das vergangene Jahr hat Joyent Cloud eine kostenlose Entwicklung bereitgestellt Sandbox für Benutzer von Node.js. Im Laufe der Zeit hat die Community es geschafft klar, dass sie mehr Werkzeuge und mehr Kapazität wünschen. Zu diesem Zweck sind wir Ich freue mich darauf, eine Partnerschaft mit Nodejitsu anzukündigen, um beide .__ bereitzustellen. diese in einer erstklassigen Node.js-Entwicklungsumgebung mit Entwicklungs- und Management-Tools von Nodejitsu, die auf Joyent Clouds .__ ausgeführt werden. Infrastruktur-als-Service-Plattform. Der neue Dienst wird sehr .__ gestartet. kurz.

Dementsprechend ist es noch nicht ganz klar, wie die Preisoptionen für ein Produktionshosting einer Node.js-Lösung enden werden, aber angesichts von Joyent's Competitive Pricing würde ich zumindest eine ähnliche Option erwarten.

Wolkengießerei

Das Cloud FoundryOpen Platform als Service-Projekt unterstützt neben vielen anderen Frameworks auch Node.js (was die Plattform so spannend macht). Die Plattform wird in letzter Zeit immer beliebter von mehreren Lösungsanbietern Platform as a Service (PaaS) als Backend entsprechend verwendet - darunter sind (in keiner bestimmten Reihenfolge und nicht unbedingt vollständig):

  • AppFog - Simple PaaS für Java, Node, .Net, Ruby, PHP, MySQL, Mongo, PostgreSQL und mehr ... Die Freiheit, zwischen IaaS und dem einfachsten Preis zu wechseln die Wolke.
  • Cloud Foundry (VMware) (Unternehmenssponsor von Cloud Foundry) - Stellen Sie Anwendungen bereit und skalieren Sie sie in Sekunden, ohne sich in einer einzigen Cloud festzusetzen.
  • Iron Foundry - Iron Foundry ist ein Open Source-Projekt, das Cloud Foundry ™ auf das .NET-Ökosystem erweitert, indem Dienste, Installationsprogramme und Entwicklertools bereitgestellt werden.

Die meisten davon befinden sich noch in der Beta-Phase und die Preisgestaltung ist noch nicht festgelegt, aber angesichts der Konkurrenz würde ich mit der Zeit einige interessante Optionen erwarten.

1
Steffen Opel

Die einfachste Möglichkeit, node.js kostenlos auf EC2 auszuführen, ist IMHO unter Heroku.

0
Yusuf X

schauen Sie sich dieses komplette Tutorial an hier . Dieses Tutorial zeigt, wie Sie Node.js auf EC2 installieren, HTTP-Ports und Nginx für die Portweiterleitung konfigurieren und Supervisor verwenden, um Node.js für immer auszuführen, da die SSH-Konsolensitzung normalerweise beendet wird.

0
techprd.com

Ich habe gerade das Heroku-Anmelde- und Bewerbungs-Tutorial durchlaufen. Hätte nicht einfacher sein können Was für eine wunderbare Erfahrung ...

... bis zu dem Punkt, an dem Sie keine MongoDB-Instanz als freie Ausrüstung haben können. Die Mindestkosten (außer einem kostenlosen Testmonat) betragen 18 USD/Monat pro GB Speicherplatz.

Ehrlich gesagt ist Openshift die bessere Wahl. Es hat drei freie Zahnräder, was für viele Anfängerzeugnisse ausreicht. Sowohl Heroku als auch Openshift befinden sich innerhalb von Amazon, aber die Kundenschnittstelle ist unterschiedlich. Ich dachte, Heroku wäre für Anfänger einfacher, aber wie gesagt, es gibt kein kostenloses Mittagessen auf der Datenbankseite.

0