Le wiki de WIMS EDU

L'association WIMS EDU a ouvert ce wiki afin de favoriser les collaborations entre utilisateurs de WIMS.

Outils pour utilisateurs

Outils du site


installation:wims_et_nginx

Ceci est une ancienne révision du document !


WIMS et NGINX

Wims fonctionne en tant que script CGI derrière un serveur Web. Habituellement, le serveur Web utilisé est Apache. Mais il pourrait arriver que vous désiriez en utiliser un autre. Je vais vous expliquer ici la procédure pour faire fonctionner WIMS derrière un serveur Nginx.

Vous pouvez choisir 2 méthodes :

  • créer un wrapper cgi
  • ou utiliser Nginx comme proxy vers Apache

Méthode n°1 : le wrapper CGI

Nginx ne dispose pas nativement de cgi, il faut donc créer un wrapper cgi Il existe là encore plusieurs méthodes. Pour ma part, j'ai opté après plusieurs essais pour celle qui me semble la plus simple. Elle est décrite ici : http://www.howtoforge.com/serving-cgi-scripts-with-nginx-on-debian-squeeze-ubuntu-11.04-p3

Commencez-donc par installer le package fcgiwrap :

apt-get install fcgiwrap

Créez ensuite un fichier /etc/nging/conf.d/wims.conf en y insérant ceci (remplacez “VOTRE_DNS” par votre nom de domaine):

  server
      {
      server_name    VOTRE_DNS;
      error_log      /var/log/nginx_wims_error.log;
      access_log     /var/log/nginx_wims_access.log;
      
      location / {
           root  /home/wims/public_html;
           index wims.cgi;
         }
                
      location ~ ^/wims.*$ {
           # Disable gzip (it makes scripts feel slower since they have to complete before getting gzipped)
           gzip off;
           
           # Set the root directory (we are giving access to the files under this location)
           root  /home/wims/public_html;
           
           # Fastcgi socket
           fastcgi_pass  unix:/var/run/fcgiwrap.socket;
           
           # Fastcgi parameters, include the standard ones
           include /etc/nginx/fastcgi_params;
         }
                 
      }

(éventuellement, adaptez le chemin “include /etc/nginx/fastcgi_params;” pour qu'il pointe vers le bon emplacement du fichier fastcgi_params)

Relancez nginx:

/etc/init.d/nginx reload

Et c'est tout. Votre serveur WIMS devrait tout à fait être accessible à l'adresse que vous aurez défini sous “VOTRE_DNS”.

NB : si vous désirez modifier l'utilisateur utilisé par nginx, procédez ainsi :

* votre fichier “nginx.conf” devra contenir ceci :

user votre_user;

* Et le script /etc/init.d/fcgiwrap devra contenir ceci (modifiez les lignes existantes):

FCGI_USER="votre_user"
FCGI_GROUP="votre_user_group"
FCGI_SOCKET_OWNER="votre_user"
FCGI_SOCKET_GROUP="votre_user_group"

Relancez alors fastcgi et nginx (via l'administrateur):

/etc/init.d/fcgiwrap restart
/etc/init.d/nginx reload

Méthode n°2 : proxy Apache

Il est possible d'accélèrer pas mal les choses en laissant NGINX s'occuper de tout le contenu statique (css, images, etc..) et en ne laissant que les pages dynamiques (le cgi) à apache. ça économise de la RAM en évitant de lancer un process/thread apache à chaque image/css.

N'ayant pas testé cette solution, je ne la détaillerai pas, mais il est intéressant de savoir qu'elle existe, et si d'aventure vous la mettez en oeuvre, n'hésitez-pas à venir compléter cette doc…

Vous pourriez laisser un commentaire si vous étiez connecté.
installation/wims_et_nginx.1442925064.txt.gz · Dernière modification : 22/09/2015 12:31 de obado