Vous êtes passionnés comme moi de machines basse-consommation, ARM, Atom : rendez visite à mon partenaire !
Utiliser node.js en production
jeudi 22 juillet 2010 à 08:00 | Dev
Suite à mon article sur le Développement web avec node.js, je me suis intéressé à la mise en production de ce formidable et performant framework javascript, pour réaliser des servelets ou applications webs.
Tout d'abord il faut se rappeler que node.js, est un framework javascript, qui va permettre de réaliser des serveurs d'applications réseaux, qui écoutent sur un port tcp. Pour utiliser un script node.js en production, il faut qu'il démarre automatiquement comme un daemon.
Pour un serveur de Linux de type debian, il faut procéder ainsi :
- crée le script nodejs qui suit
- le copier dans /etc/init.d/
- chmod 744 /etc/init.d/nodejs
- update-rc.d nodejs defaults
- placer le fichier test.js dans le répertoire /var/www/node.js/
#! /bin/sh
# Description: Startup script for node.js webapp on Debian.
# Place in /etc/init.d/ and chmod 744 nodejs
# run 'update-rc.d nodejs defaults'
# or use the appropriate command on your distro.
#
# Author: Vincent RABAH
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=test.js
DESC="nodejs daemon $NAME"
DAEMON=/var/www/node.js/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
start-stop-daemon -S -q --oknodo -g www-data -u www-data -b -x $DAEMON
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
start-stop-daemon --oknodo -K -q -R 30 -n $NAME
echo "."
;;
restart|force-reload)
echo "Restarting $DESC: $NAME"
start-stop-daemon --oknodo -K -q -R 30 -n $NAME
start-stop-daemon -S -q --oknodo -g www-data -u www-data -b -x $DAEMON
echo "."
;;
*)
echo "Usage: $0 {start|stop|restart}" >&2
exit 1
;;
esac
A présent, le script test.js qui utilise le framework node.js sera démarré automatiquement à chaque redémarrage du serveur.
A propos de Vincent RABAH
Je suis DSI depuis 10 ans. Spécialiste en systèmes d'information et réseaux.
Expert en management, GreenIT et virtualisation de serveurs. Vous pouvez consulter l'ensemble de mon parcours.
I do speak English even if my blog is written in French ... Feel free to leave comments, I'll answer you !
- Une infographie pour Installer node.js et npm sur Windows
- Microsoft et Joyent portent Node.js sur Windows
- Gestion des plugins VIM
- Twitter Stream avec NodeJS Socket.IO et Express
- Node.js v0.6.1 pour Linux, Windows, MacOS
- Créer une présentation HTML5 portable avec Node.js Inliner
- Oreilly vend des vidéos Node.js
- Utiliser Twitter Stream avec Ruby
- Node.js v0.6.0 est sorti
- Rewrite rules Nginx
Vous pouvez lire également :
Partagez cet article :





Merci Peter, pour ce script node.js daemon LSB compliant ! Il faut vraiment que je me replonge rapidement dans node.js !
A bientôt.
Re-salut vincent.
Vla mon script init.d LSB-compliant :
https://gist.github.com/715255
Peter,
Merci, je vais remettre le nez dans ce script d'ici peu de temps, car il n'est pas conforme avec le Linux Standard Base (LSB) !
Le blog utilise une Debian Squeeze sur un processeur ARM :)
A+
Merci pour ce petit script init.
Moi aussi je suis un debian(izatoniz)eur, et comme j'utilise Lenny, upstart n'est pas vraiment une option.
J'ai consulté cet article il y a 2 jours et j'y ai mis un commentaire :
upstart ... bof.
monit : J'ADORE :)
Néanmoins, je trouve que node.js s'améliore de plus en plus. Je déplore peux de plantage !
Je te conseil aussi ceci : http://howtonode.org/deploying-node-upstart-monit
nodejs est très bon mais parfois le code s'arrete brusquement :D avec upstart et monit ca tourne nickel ;)