2017-04-19 6 views
1

Ich habe eine node.js Anwendung auf Github. Ich habe noch nie einen VPS-Einsatz gemacht und lerne unterwegs.meine node.js App von Github zu einem VPS Bereitstellen

ich die VPS von Hostinger.in verwenden, ist das Betriebssystem verwendet wird Ubuntu 14.04. Bisher ist es das, was ich getan habe:

  1. Verbunde mit ihrem SSH erfolgreich von meinem Terminal-
  2. installiert node.js auf dem Server [https://www.hostinger.com/tutorials/vps/how-to-install-node-js-on-ubuntu]
  3. Installierte Git auf dem Server [https://www.hostinger.com/tutorials/how-to-install-git-on-ubuntu]

ich konnte keine Online-Ressourcen finden, um meine node.js zu Hostinger VPS für die Bereitstellung von so verfolge ich die für DigitialOcean geschriebenen.

Die eine Tutorial Ich folgte, ist dies: https://code.tutsplus.com/tutorials/setting-up-continuous-integration-continuous-deployment-with-jenkins--cms-21511

ich mein Repository tun geklont:

git clone https://github.com/myusername/node-project.git 

und es scheint, es bereitgestellt wurde (knapp über mir keine Fehler). Alle Installationen habe ich auf dem Server ich als root/admin-Benutzer haben. Bisher habe ich keinen separaten Benutzer erstellt, um eine dieser Aufgaben auszuführen.

Der Hostname-Server, die mir gegeben ist dangerous-pigs.com. Jetzt nehme ich an, dass meine node.js-Anwendung bereitgestellt wird, aber wenn ich zu dangerous-pigs.com gehe, zeigt es mir Server nicht gefundenen Fehler an.

ich auch immer für meine Knoten App installiert und wenn ich

forever start app.js 

laufen heißt es:

warn: --minUptime not set. Defaulting to: 1000ms 
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms 
info: Forever processing file: app.js 
error: Cannot start forever 
error: script /root/app.js does not exist. 

, die die App bedeutet entweder nicht installiert oder irgendwo anders als dem Stammordner installiert.

Es ist viel los und ich bin super verwirrt, wo ich anfangen kann, Probleme zu beheben.

Kann jemand bitte helfen Sie mir/führen Sie mich Schritt für Schritt von der Bereitstellung der App auf es auf der dangerous-pigs.com laufen?

Danke.

******************************** aktualisieren ************* *****************

So scheint es, ich habe in den Projektordner in Wurzel gehen und die

npm install --production 

danach habe ich

Der Server scheint zu laufen, aber ich kann nur auf meine Anwendung zugreifen, wenn ich auf die tatsächliche IP durch den Dienst zur Verfügung stellen.

Also, wenn ich http://93.188.163.249:8000 eingeben -> das ist meine Anwendung.

Wie kann ich es so ändern, dass es auf eine Domain verweist?

+0

Haben Sie 'für immer Knoten app.js' versuchen? Sind Sie im Projektverzeichnis (versuchen Sie 'cd'ing dort hinein)? –

+0

Haben Sie 'npm install --production' und' node app.js' wie im Tutorial erwähnt? Und hast du zuerst lokal geklont, um die Anwendung zu konfigurieren (auch wie im Tutorial erwähnt)? – VonC

+0

Ja, wenn ich npm installiere --production es wirft diesen Fehler: ENOENT: keine solche Datei oder Verzeichnis, öffnen '/root/package.json' – codeinprogress

Antwort

0

Nach einiger mehr Forschung dies ist, was ich gefunden:

Aktuell standardmäßig Apache2 läuft auf Port 80 laufen NodeJS auf Port 80 zuerst muß ich libcap2-ist in meinem Ubuntu-Server installieren, indem Sie:

sudo apt-get install libcap2-bin 

wonach ich

sudo setcap cap_net_bind_service=+ep /usr/bin/nodejs 

der obige Befehl funktioniert, wenn Sie einen mac haben, für Fenster den Befehl vielleicht

sudo setcap cap_net_bind_service=+ep /usr/local/bin/node 

aber bitte bestätigen, bevor Sie es tun.

Auch Ihr Nodejs-Server muss gestoppt werden, bevor Sie diese Änderungen vornehmen, sonst wird es nicht funktionieren. In meinem Fall hatte ich vergessen, meinen Knoten-Server zu stoppen und fuhr den sudo-setcap-Befehl fort, aber es änderte den Port nicht (aus offensichtlichen Gründen).

Wenn Sie mit immer Knoten laufen dann tun:

forever stopall 
Verwandte Themen