einen der Dienste zu verwenden ist zum größten Teil aus Händen - Sie Ihren Code schreiben und lassen Sie sie Sorgen über die Box verwalten, halten Sie Ihre Prozess, die Schaffung der Publishing-Kanal, Patchen des OS, etc ...
Im Gegensatz dazu haben Sie mit Ihrer eigenen VM mehr Kontrolle, aber mit mehr Zeitaufwand und Investitionen.
Eine andere Überlegung ist, einige Hosters und Cloud-Anbieter bieten proprietäre oder unterschiedliche Variationen von Technologien. Sie haben Gründe für sie und sie bieten Wert, aber es bedeutet, dass, wenn Sie Cloud-Anbieter wechseln möchten, es bedeutet, dass Sie Code, Deployment-Skripts usw. neu schreiben müssen ... Auf der anderen Seite war die Verwendung von VMs mit Standard-Betriebssystem als Basis ziemlich generisch. Wenn Sie die Konfiguration Ihrer VMs automatisieren/scriptieren/dokumentieren und Ihr Code generisch bleibt, bleiben Ihre Optionen offen.Wenn Sie von einer proprietären Cloud-Technologie abhängig sind, wäre es gut, sie hinter einer Schnittstelle zu abstrahieren, sodass sie eine entkoppelte Komponente ist und nicht in Ihrem Code verstreut ist.
Ich habe beides getan. Ich habe den VM-Pfad kürzlich hauptsächlich gemacht, weil ich die Lernerfahrung haben wollte. Ich musste:
- die VM erhalten aus dem Cloud-Anbieter
- Ich musste
- Ich hatte zu installieren und konfigurieren git als Verlag Kanal
- ich das OS Update- und Patch einige hatte zu schreiben Skripte und Dinge wie immer zu verwenden, um es am Laufen zu halten
- Ich musste den umgekehrten http-Proxy konfigurieren, um es zu erhalten, mehrere Seiten zu laufen.
- Ich hatte DNS mit den Cloud-Anbietern, offene Ports für git usw. konfigurieren ...
Die Liste geht weiter. Am Ende kostete es mich mehr Zeit, nicht zu programmieren, aber ich lernte viel mehr. Wenn Ihnen das wichtig ist, dann versuchen Sie es. Wenn Sie sich darauf konzentrieren möchten, Ihren Code zu schreiben, könnte ein Node-Hosting-Provider für Sie geeignet sein.
Am Ende hatte ich auch mehr Optionen - ich wollte eine zweite Seite hinzufügen. Ich habe en Eintrag zu meinem Reverse Proxy hinzugefügt, füge mein Skript an, um eine andere App mit forever, voila, eine andere Seite zu starten. Mehr Kontrolle. Danach wollte ich mongodb ausprobieren - einfach - installiert es.
Sie sind in etwa gleich, aber wenn Sie mehrere Websites mit vielen anderen Paketen wie Datenbanken usw. hosten, kann die VM billiger werden.
Nodejitsu open sourced ihre Werkzeuge, die es auch einfacher macht, wenn Sie Ihre eigenen tun.
Wenn Sie es selbst tun, hier einige Links, die Ihnen helfen können:
Halten Sie den Server:
https://github.com/nodejitsu/forever/
http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever
https://github.com/bryanmacfarlane/svchost
Upstart und Monit generischer automatischer Start und Neustart über Monit oring
http://howtonode.org/deploying-node-upstart-monit
Clusterknoten Läuft ein Prozess pro Kern
http://nodejs.org/docs/latest/api/cluster.html
Reverse Proxy
https://github.com/nodejitsu/node-http-proxy
https://github.com/nodejitsu/node-http-proxy/issues/232
http://blog.nodejitsu.com/http-proxy-middlewares
https://github.com/nodejitsu/node-http-proxy/issues/168#issuecomment-3289492
http://blog.argteam.com/coding/hardening-node-js-for-production-part-2-using-nginx-to-avoid-node-js-load/
Script installieren die
https://github.com/bryanmacfarlane/svcinstall
Exit Shell Script Based on Process Exit Code
Site publizieren
Using git to publish to a website
Wie einige Hinweise haben, auch wenn Sie mit einem Hoster gehen, es lohnt sich einmal durch gehen zu verstehen, was los ist. Hoffentlich helfen meine Links ... – bryanmac
Danke Mann, ich glaube, ich werde mit Linode VPS für jetzt gehen, so dass Ihre Links sehr hilfreich sein würden, obwohl ich gehofft hatte, einige weniger offensichtliche Nachteile und Pros speziell auf gehosteten Lösungen zu finden, die ziemlich blackbox scheinen ich jetzt. –
OK - macht Sinn. Hinzugefügt ein bisschen mehr auf Pro/Contra. Ich werde nachgehen, wenn ich an mehr denke ... – bryanmac