6 votes

Nodejs sur Nearlyfreespeech ?

J'examine un site web existant, déployé sur un serveur NFS. J'aimerais en réécrire certaines parties pour le faire fonctionner sur nodejs. Pour autant que je sache, nodejs n'est pas supporté par les gens de NFS, mais je suis contraint d'utiliser leurs serveurs.

Alors, y a-t-il un moyen d'installer nodejs sur un serveur Nearfreespeech ? Quelqu'un a-t-il essayé avec succès ?

7voto

danio Points 2962

À partir du 24/Septembre/2014, NFS supporte maintenant les processus persistants :


Pour résumer le processus décrit dans mopsled.com L'exemple de la tierce partie :

1) Dans l'interface d'administration de NFS.N, sélectionnez le nom court du domaine de votre site dans la liste suivante Sites puis changez le "Type de serveur" de ce site en "Personnalisé" au lieu de PHP / Apache.

2) Mettez votre code serveur Node quelque part dans le dossier /home/protected/

3) Créez un shell script (ex. run.sh ) quelque part dans /home/protected/ qui contient la (les) commande(s) pour démarrer votre serveur (ex. npm run start o node server.js ). NFS.N exécutera automatiquement ce script comme un processus continu en utilisant un "Daemon", que nous allons configurer dans l'étape suivante.

4) Sélectionnez "Daemons" dans l'interface d'administration NFS.N de votre site, et entrez le chemin du shell script de démarrage de votre serveur dans le champ "ligne de commande". Complétez les autres champs comme bon vous semble.

5) NFS.N va maintenant assurer que votre processus de serveur personnalisé fonctionnera indéfiniment. Votre serveur web sera maintenant disponible sur le port que votre serveur écoute. Cependant, NFS.N ne donne pas d'accès Root à votre serveur pour communiquer via les ports internet normaux de "bas niveau" (ex. :80 y :443 ), donc si vous voulez les servir, vous devez utiliser la fonction "Proxy" de NFS.N décrite à l'étape suivante.

6) Si vous avez besoin d'écouter sur des ports de bas niveau : Sélectionnez "Add a Proxy" dans l'interface d'administration NFS.N de votre site et entrez les paramètres pertinents, en cochant l'option "Bypass Apache entirely" et en indiquant le port sur lequel votre serveur écoute dans l'option "Target Port".

Voilà, c'est fait ! Vous pouvez maintenant arrêter/redémarrer le processus continu du serveur (le shell script que le Daemon maintient) dans la page de configuration du Daemon.

2voto

Ishan Points 867

NFS.net dispose d'une nouvelle architecture "NFGI" qui pourrait ouvrir la voie à cette possibilité :

NFGI peut également fonctionner avec d'autres langages, ce qui en fait des citoyens de première classe de notre service, tout aussi rapides et intégrés que le PHP actuel. Cela ouvre la voie à la viabilité de toutes sortes de frameworks qui étaient traditionnellement trop lents lorsqu'ils étaient exécutés par CGI. Rails. Catalyst. Django. Nous pensons également qu'il est possible de tirer parti de cette technologie pour faire fonctionner node.js sur notre service, mais nous n'en sommes pas sûrs à 100%.

(Source : http://blog.nearlyfreespeech.net/2013/09/21/cgissh-upgrades/ )

Si vous voulez cette fonctionnalité, vous pouvez voter pour elle dans leur système de demande de fonctionnalité à l'adresse suivante https://members.nearlyfreespeech.net/support/voting

Bien que pour être honnête, je suis d'accord avec les réponses précédentes, l'utilisation de Node via CGI perdrait une partie des avantages... mais ne serait pas sans ses charmes. Quelque chose comme http://larsjung.de/node-cgi/ pour NFS.net serait un remplacement JavaScript intéressant pour PHP.

1voto

Stephen Eilert Points 725

Le problème n'est pas que NFS.net ne supportera pas NodeJS. Le problème est que vous ne pouvez pas avoir de "processus à long terme", c'est-à-dire des serveurs. Puisque vous ne pouvez pas exécuter des serveurs, vous ne pouvez pas exécuter Node.

En fait, le seul moyen d'avoir quelque chose de dynamique est d'utiliser des images de synthèse. Il n'y a aucune raison pour que le moteur Javascript ne puisse pas être utilisé pour générer des pages en réponse à des requêtes, mais je ne suis pas sûr que cela puisse être fait avec node.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X