Installation de Juggernaut sur Centos 5.8 : Différence entre versions
De wikiGite
(→Installation de Juggernaut) |
(→Installation de Juggernaut) |
||
Ligne 183 : | Ligne 183 : | ||
Tester le fonctionnement de Juggernaut : <br/> | Tester le fonctionnement de Juggernaut : <br/> | ||
http://localhost:8080 | http://localhost:8080 | ||
+ | |||
NOTE: Attention par défaut Tomcat utilise le même port. Si Tomcat est installé, assurez-vous qu'il est arrêté ou tourne sur un autre port ! | NOTE: Attention par défaut Tomcat utilise le même port. Si Tomcat est installé, assurez-vous qu'il est arrêté ou tourne sur un autre port ! | ||
Version du 10 août 2012 à 15:31
Sommaire
Présentation
https://github.com/maccman/juggernaut/
Juggernaut permet de réaliser des connexions en temps réel entre un serveur et un navigateur web. Il permet le push d'informations dans des applications web, cela permet de réaliser des choses comme des jeux multijoueurs, des chats ou des outils collaboratifs. Juggernaut est réalisé à l'aide de Node.js.
ATTENTION juggernaut est déprecié : http://blog.alexmaccaw.com/killing-a-library
Préparation du serveur
Paquets requis
yum groupinstall "Development tools" yum install git yum install php php-devel
Ajouter depot
Installation de Nodejs
Installation des pré-requis :
yum install openssl-devel
Installation depuis les sources :
L'installation se fait /usr/local :
cd /usr/local/src/ wget http://nodejs.org/dist/latest/node-v0.8.6.tar.gz tar xzf node-v0.8.6.tar.gz && cd node-v0.8.6/ ./configure --openssl-libpath=/usr/lib/ssl make -j2 make install
Installation de Redis
yum install --enablerepo=epel redis mv /etc/redis.conf /etc/redis.conf.bk vim /etc/redis.conf
Le fichier de configuration doit comporter ces options :
daemonize yes pidfile /var/run/redis/redis.pid port 6379 bind 127.0.0.1 timeout 300 loglevel verbose logfile /var/log/redis/redis-server.log databases 16 save 900 1 save 300 10 save 60 10000 rdbcompression yes dbfilename dump.rdb dir /var/lib/redis appendonly no appendfsync everysec vm-enabled no vm-swap-file /var/lib/redis/redis.swap vm-max-memory 0 vm-page-size 32 vm-pages 134217728 vm-max-threads 4 glueoutputbuf yes hash-max-zipmap-entries 64 hash-max-zipmap-value 512
Vous pouvez télécharger la version complète ( attention au chemin du pid ): wget https://raw.github.com/gist/1164482/77e4ecf14ffac42b0e987e7ffe16cb757d734ff9/redis.conf
chkconfig --level 2345 redis on
Démarrage du service redis server :
/etc/init.d/redis start
Installation de Node_redis
npm install -g redis
Installation de Phpredis
git clone https://github.com/nicolasff/phpredis.git cd phpredis phpize ./configure make make install
Activation de l'extension PHP : Créer un fichier redis.ini dans /etc/php.d avec le contenu suivant :
extension=redis.so
Installer Forever
https://github.com/nodejitsu/forever/
Forever est un utilitaire en ligne de commande qui permet de faire tourner des scripts Node.js en tant que daemon. Il s'assure également que celui ci ne s'arrête jamais, d'où son nom.
Installation
npm install forever -g npm install forever-monitor
Installation de Juggernaut
npm install -g juggernaut
vim /etc/init.d/juggernaut
Copier le contenu suivant :
#!/bin/bash
#
# juggernaut init file for starting up the juggernaut daemon
#
# chkconfig: - 20 80
# description: Starts and stops the juggernaut daemon.
PATH=$PATH:/usr/local/bin
NAME="Juggernaut"
USER="juggernaut"
PID="/tmp/juggernaut.pid"
NBR_PID=`cat $PID`
LOG_DIR="/var/log/juggernaut"
SERVER="/usr/local/lib/node_modules/juggernaut/server.js"
if [ ! -d "/var/log/juggernaut" ]
then
mkdir /var/log/juggernaut
fi
start()
{
if [ -d /proc/$NBR_PID ]
then
echo "Always running"
exit
fi
forever start -o $LOG_DIR/out.log -e $LOG_DIR/err.log --pidFile $PID $SERVER
}
stop() {
forever stop $SERVER
}
reload() {
false
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
forever list
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 2
esac
exit $?
chmod +x /etc/init.d/juggernaut chkconfig juggernaut on service juggernaut restart
Tester le fonctionnement de Juggernaut :
http://localhost:8080
NOTE: Attention par défaut Tomcat utilise le même port. Si Tomcat est installé, assurez-vous qu'il est arrêté ou tourne sur un autre port !
Monit
Envoyer un mail par monit en cas de coupure du daemon :
check host juggernaut with address 127.0.0.1 if failed port 8080 protocol HTTP request /application.js with timeout 10 seconds then alert