web-dev-qa-db-fra.com

Pourquoi node.js ne peut pas fonctionner sur un hébergement partagé?

Première chose: J'ai recherché toutes les sociétés d'hébergement Web connues pour l'hébergement partagé de nodejs mais je n'ai trouvé personne. Ensuite, j'ai appris que nodejs ne pouvait pas s'exécuter sur un système hôte partagé. Je veux savoir pourquoi?

Deuxième chose: Je suis un gars normal avec un budget normal. En choisissant un serveur vps, un serveur dédié ou un hébergement en nuage, le nœud est exécuté, mais il est hors de portée de mon argent de poche par rapport aux services d'hébergement partagés PHP), dois-je donc apprendre à node.js?

57
Yousuf Memon

Théoriquement, c'est possible, mais dans la pratique, cela dépend du fournisseur d'hébergement d'avoir une telle infrastructure en place.

La comparaison de nœud avec les plates-formes Web classiques est une plate-forme autonome. Dans le cas où PHP (par exemple), il fonctionne avec Apache ou nginx (ou tout autre)) et PHP lui-même n'est qu'un langage de script avec Certaines bibliothèques ne font pas beaucoup en dehors de la logique, et nécessitent une solution de serveur Web, qui crée un socket pour écouter le trafic sur des ports spécifiques, fait sa propre magie et exécute PHP pour traiter les requêtes .

En attendant, node.js crée son propre socket et le lie à son propre port. Cela lui donne beaucoup plus d'accès de bas niveau, donc c'est le serveur web lui-même. Vous ne pouvez pas lier deux applications à un port, ce qui est déjà impossible à partager.
Certains services (serveurs Web) vous permettent de créer un proxy pour acheminer le trafic vers votre processus node.js mais ne sont pas aussi efficaces dans certains cas, et l'hébergement partagé ne fournit pas une telle fonctionnalité.

Comme node.js est encore assez jeune et très différent, il n’a pas encore touché la majorité des services d’hébergement mutualisé. Il existe certains services en ligne pour héberger vos applications node.js de manière "partagée".

De plus, vous pouvez louer une instance EC2 Micro sur AWS gratuitement (niveau gratuit) pendant un an, ce qui vous laisse beaucoup de possibilités et de temps pour essayer et tester différentes choses. Vous obtiendrez un système semi-dédié, où vous pouvez faire à peu près n'importe quoi (installer un logiciel, modifier les configurations d'un système d'exploitation, etc.), où l'hébergement partagé ne vous permettrait pas de le faire.

26
moka

Regardez dans Heroku. Pour les applications simples à faible trafic, elles sont gratuites et peuvent facilement être mises à l'échelle pour générer davantage de trafic (moyennant un coût supplémentaire). De plus, vous utilisez Git pour déployer, il est donc très simple de mettre à jour vos contenus ...

11
Ed.

Il existe d'autres moyens de déployer des applications node.js.

Vous pouvez utiliser des services PaaS, tels que Openshift , Herok , AppFog , Paastor , dotCloud = etc.

10
jh314

SmartOS et Microsoft Azure de Joyent sont d’autres excellentes options d’hébergement d’applications de nœuds. Les deux ont une période d'essai gratuite.

Azure peut être une excellente plateforme d'apprentissage pour node.js, tout comme vous pouvez héberger votre application de nœud dans Windows Server, Ubuntu Linux ou le modèle de déploiement partagé spécial "site Web" d'Azure.

http://www.windowsazure.com/en-us/develop/nodejs/tutorials/create-a-website- (mac) /

Une autre solution rentable pour l’hébergement d’applications de nœuds est l’approche "Site Web" d’Azure - environ 10 dollars par mois. L'inconvénient est que vous devez utiliser leur environnement partagé qui héberge votre application de nœud via IIS. En pratique, cela a bien fonctionné pour moi, mais vous êtes limité en ce sens que vous ne pouvez pas utiliser certaines fonctions Linux depuis Node quand il tourne sous Windows, et vous n’apprendrez pas à configurer le service de noeud vous-même, ce qui peut être important ou non pour votre entreprise (Remarque: le processus de déploiement GIT d'Azure fonctionne parfaitement si vous souhaitez déployer votre application à partir d'un référentiel GIT local. Notez également que NodeIIS arrête votre application de noeud lorsqu'elle n'est pas dans l'application. utiliser pendant un certain temps - et il redémarre automatiquement à la demande de votre application.)

La plate-forme SmartOS de Joyent est un système d'exploitation Linux optimisé pour l'hébergement de votre application node.js. Ils offrent une fiabilité et des performances impressionnantes, ainsi que d'excellents outils de diagnostic.

http://wiki.joyent.com/wiki/display/jpc2/Developing+a+Node.js+Application

La solution la plus économique que j'ai trouvée jusqu'à présent est DigitalOcean, une nouvelle solution d'hébergement géniale où vous pouvez héberger un système Linux complet VM pour seulement 5 $/mois!). J'ai eu beaucoup de chance d'hébergement Node applications disponibles jusqu'à présent: https://www.digitalocean.com/pricing

4
Svbaker

Le nœud ne fonctionne pas comme la plupart des serveurs. Avec IIS et Apache, il existe un serveur exécutant plusieurs sites, ce qui se prête parfaitement aux environnements partagés. Avec Node, vous exécutez votre propre serveur. Vous avez donc tendance à partager des ressources sur une machine.

Je ne peux pas vous dire si cela vaut la peine d'apprendre le noeud parce que je ne connais pas votre motivation, mais cela peut élargir vos perspectives de carrière si vous choisissez d'y aller et de développer vos compétences.

Voici quelques options d'hébergement dans la gamme de prix bas.

http://nodester.com/

https://www.nodejitsu.com/

4
Thinking Sites

a2hosting autorise Node.js dans l'hébergement partagé.Mais je n'ai aucune expérience là-bas.Trouvé à partir d'une recherche Web

Mise à jour: utilisez DigitalOcean. VPS privé

3
user2473015