2013-08-05 1 views
1

Je voudrais utiliser Node.js pour ajouter des fonctionnalités de base sur un site statique:Ai-je besoin d'un serveur écrit dans node.js au lieu d'un nginx/Apache?

  • authentification de l'utilisateur et les autorisations
  • gestion de contenu de base (archivage, balises, recherche)

Le Des exemples sur nodejs.org montrent comment démarrer un serveur, écrit en JS, mais le codage d'un serveur http entier semble être une exagération, et ne me semble définitivement pas une solution très sûre. Est-ce vraiment nécessaire quand un serveur web standard peut être utilisé?

Quel serait le moyen le plus simple d'intégrer le code node.js derrière un serveur comme nginx?

+0

Vous ne savez pas si vous avez vraiment besoin d'utiliser NodeJS pour vos besoins. Pouvez-vous poster plus de détails sur ce que vous essayez de construire? – HariKrishnan

+0

Je souhaite utiliser un noeud pour l'authentification de l'utilisateur, la définition des autorisations, l'archivage du contenu et éventuellement la recherche sur l'ensemble du site. Idéalement, je veux ajouter ces fonctionnalités de manière modulaire avec le minimum de code nécessaire. – vantage5353

Répondre

1

Si vous ne savez pas que vous avez besoin de node.js, alors vous n'avez probablement pas besoin. Le nœud est vraiment destiné aux applications en temps réel et le contenu hautement disponible et dynamique est accessible des milliers de fois par seconde. Pour ce que vous semblez faire, il vaudrait peut-être mieux utiliser une solution moins efficace mais plus simple du côté de Ruby. Ruby est super facile à apprendre et a beaucoup de grands documents pour débutants. Spécifiquement regarder dans Ruby on Rails et Sinatra.

Une autre option plus pratique serait de passer tout cela et utiliser Wordpress. Je travaille pour une société de développement web et 90% des sites finissent par être wordpress, même les plus dynamiques. Wordpress a une énorme bibliothèque de plugins et d'API pour permettre une ultra-personnalisation. Pour le vrai pouvoir de Wordpress, il est préférable d'utiliser un hébergement privé de wordpress.org plutôt qu'un hébergement partagé comme wordpress.com.

+1

Je sais que ce nœud est idéal pour les applications asynchrones, mais c'est aussi une excellente plate-forme pour le futur, et il est construit autour d'un langage que je peux utiliser maintenant (JS). est une solution beaucoup plus pratique que d'apprendre Ruby à partir de rien ... Un CMS est complètement hors de question en raison d'un code boursouflé et d'une mauvaise évolutivité – vantage5353

+0

Si vous vous sentez à l'aise avec le nœud, alors essayez-le. à quelles bibliothèques à utiliser, mais quand il s'agit de la sécurité qui dépend entièrement de l'environnement dans lequel vous vous trouvez. Consultez les bibliothèques suivantes pour l'évolutivité. [Flatiron] (http://flatironjs.org/) sera probablement le plus familier à un utilisateur javascript frontal et il peut être sur le serveur et dans le navigateur! –

+0

Flatiron semble prometteur, mais je suppose que cela se résume à des essais et erreurs. Malheureusement, en raison de l'absence de tutoriels et de livres sur node.js plus complets, il est très difficile de déterminer quelle serait la courbe d'apprentissage plutôt que d'utiliser un langage et un cadre mieux documentés comme RoR. Je suis prêt à parier sur node.js, mais je suis déchiré entre l'incertitude et potentiellement beaucoup de temps perdu. :( – vantage5353

1

Vous pouvez utiliser Apache et Node.js en même temps, sur différents ports.

Soit Apache HTTP poignée, et utiliser Node.js sur un autre port pour gérer votre chat ou votre système de notification en temps réel ou tout ce que vous voulez faire avec Node.js

Vous ne devez pas utiliser Node .js pour servir HTML si vous ne voulez pas le faire. En fait ce n'est pas une bonne idée, à moins que vous n'attendiez vraiment un avantage (parce que votre serveur gérera des tonnes si vous avez un IO ou si vous avez un web si petit que vous n'avez pas besoin d'un monstre comme Apache).

+0

Mon site est principalement du contenu statique, mais j'ai besoin de créer des classes d'utilisateurs et de contrôler l'accès au contenu. Certaines fonctionnalités de type blog seraient également utiles pour améliorer la convivialité. Je ne m'attends pas à ce que la concurrence soit un gros problème, et nginx devrait être parfaitement bien pour gérer la charge. Node me permet d'utiliser uniquement Javascript, c'est donc beaucoup plus pratique que d'apprendre de nouveaux langages/frameworks. Cependant, peu d'informations de niveau débutant sont disponibles. :( – vantage5353

Questions connexes