Apache 2.0 et Mongrel cluster

On trouve des guides pour faire cohabiter un cluster Mongrel avec Apache 2.2 mais peu traitent d’Apache 2.0 qui est installé par défaut sur une distribution Ubuntu Server. Rien de bien compliqué, ça ressemble beaucoup à l’installation avec Apache 2.2 décrite sur le site de Mongrel.

Commençons par installer mongrel_cluster si ce n’est pas déjà fait

sudo gem install mongrel_cluster

Puis, pour configurer un cluster de 3 serveurs accessibles sur les ports 8000, 8001 et 8002 :

sudo mongrel_rails cluster::configure -e production \
-p 8000 -N 3 -c /var/www/apps/testapp -a 127.0.0.1 \
--user mongrel --group mongrel

Vous pouvez changer la dernière ligne en fonction de vos besoins si vous n’avez pas d’utilisateur (ou de groupe) nommé mongrel.

Maintenant que c’est fait, lançons les serveurs et vérifions que tout fonctionne bien en nous connectant directement sur chacun des ces ports.

sudo mongrel_rails cluster::start

Configuration d’Apache

Apache 2.0 n’a pas de module poxy_balancer, l’astuce que nous utiliserons dans ce cas est de passer par la fonction de mapping aléatoire du module de ré-ecriture d’adresses.

Nous avons donc trois instances de mongrel tournant sur les ports 8000, 8001 et 8002, nous devons créer un fichier de mapping de ces trois ports map.txt contenant :

ports  8000|8001|8002

Puis voici la configuration de notre serveur virtuel :

ProxyRequests Off
ProxyPassReverse / http://localhost:8000/
ProxyPassReverse / http://localhost:8001/
ProxyPassReverse / http://localhost:8002/
ProxyPreserveHost On
RewriteEngine On
RewriteMap  servers rnd:/chemin/vers/le/fichier/map.txt
RewriteRule ^/(images|stylesheets|javascripts)/?(.*) $0 [L]
RewriteRule ^/(.*)$ http://localhost:${servers:ports}/$1 [P,L]

Voila, c’est tout. Relancez votre serveur web. Vous pouvez aussi lancer le cluster mongrel au démarrage de votre machine (voir du coté de update-rc.d)

Pour plus d’infos n’hésitez pas à consulter le focus sur Mongrel des édition O’Reilly

0 commentaire ↓

Il n'y a aucun commentaire

Laisser un commentaire