PostBlue : Haste : Init Script pour une distribution Debian
lundi 18 mars 2013 à 22:10Depuis que j’ai déployé un node d’Hastebin sur mon VPS, j’ai été confronté à un souci majeur : je ne parvenais pas à faire en sorte que le service soit lancé au démarrage de ma machine. À la rédaction de mon billet de présentation, j’avais utilisé forever
puis nohup
pour garder un processus d’haste-server
en arrière-plan, solutions qui fonctionnaient bien, mais ne me satisfaisaient pas : mon serveur n’était pas rebootproof, c’est-à-dire que si d’aventure il était redémarré, il fallait que je m’y reconnecte pour lancer haste-server
; une épine au pied qu’il me tardait d’extraire.
Après quelques recherches, j’ai trouvé ce script permettant d’être géré tel un service (voir la documentation Debian) dans un souci de mise en production et, qu’il suffit de copier dans /etc/init.d/hastebin
. J’y ai apporté quelques modifications comme l’attente du démarrage de redis
, ou une modifications des chemins d’accès de l’exécutable de Node.js :
#!/bin/bash ### BEGIN INIT INFO # Provides: hastebin # Required-Start: $local_fs $remote_fs $network $syslog $redis_server # Required-Stop: $local_fs $remote_fs $network $syslog $redis_server # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts hastebin # Description: starts hastebin ### END INIT INFO # modify if you need PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/opt/node/bin # path to your node.js server/app DAEMON_ARGS="/home/hastebin/haste-server/server.js" # whatever fancy description you like DESC="node.js pastebin server" # USER who OWNS the daemon process (no matter whoever runs the init script) NODEUSER=hastebin:hastebin # in case the init script is run by non-root user, you need to LOCAL_VAR_RUN=/var/run # name of the node.js executable NAME=node # this SHOULD POINT TO where your node executable is DAEMON=/opt/node/bin/$NAME |
Le reste du script reste inchangé. Il est évident qu’il sera nécessaire de modifier les chemins en fonction de l’installation faite du programme et de Node.js, la mienne pointant vers /opt/node/bin/node
parce que j’utilise le script d’installation facile de Node.js et de npm
par Nicolargo, et vers /home/hastebin/haste-server
parce que j’y ai clôné la source (elle peut être installée où bon vous plaît). Si par contre vous avez installé Node.js depuis les répertoires de Debian Sid, vous devrez plutôt pointer vers /usr/bin/nodejs
(ou /usr/bin/node
).
Ne reste plus qu’à activer le lancement du script lors du démarrage de la machine :
# update-rc.d hastebin defaults
Original post of PostBlue.Votez pour ce billet sur Planet Libre.
Articles similaires
- PostBlue : Node.js et haste : installation sur un serveur Debian Squeeze (21/05/2012)
- dahu_fou : Activer le Wifi avec une carte 2200BG Intel sur une distribution Debian (23/08/2009)
- Ulrich Van Den Hekke : Paquet Debian et Qt (08/09/2008)
- Jopa : Démonstration de Proxmox VE (15/08/2011)
- pointroot.org : Dernières versions des paquets ou du noyau sur une distribution stable à base de Debian (18/11/2011)