mardi 29 juin 2010

Ecriture d'un module pour le serveur #http #nginx

redstar2
J'ai développé un petit module de test pour le fameux serveur HTTP NGINX.

Ce module ne sert qu'a jouer avec la configuration et les librairies du serveur,
d'où son nom : nginxsandbox.

Le code C du module est disponible dans lemon-labs de github.

J'ai aussi écrit un shell permettant d'automatiser la compilation et le test d'un module Nginx : monmake.sh

make clean
./configure --with-debug --with-http_stub_status_module --add-module=/usr/local/nginxsandbox/
make
make install
cp /root/nginx.conf /usr/local/nginx/conf/
kill `cat /usr/local/nginx/logs/nginx.pid`
sleep 3
/usr/local/nginx/sbin/nginx > /usr/local/nginx/logs/error.log




Ce script est à installé dans le répertoire des sources du serveur.

Il suffit ensuite de créer un répertoire abritant votre module en dehors de cette arborescence.

Le script commence par faire le ménage dans le répertoire de compilation, puis lance le programme de configuration avec les bonnes options. Pour ma part,j'ai donc ajouté le module nginx status et le mien.
Après le make install, je recopie une sauvegarde de mon fichier de conf dans le répertoire de conf du daemon nginx.

Enfin, je coupe le serveur et je le relance.

Faire pointe pointer le browser sur localhost/sandbox doit donner :
(clic pour agrandir)



Le fichier de conf est modifié de la sorte :


location /nginx_sandbox {
sandbox on;
}





La lecture du "guide d'emiller" est le point de départ à l'écriture d'un module.
Ainsi paré de la ceinture de Batman, l'aventure peut commencer.

Aucun commentaire: