lunes 26 de octubre de 2009

HOWTO install nginx with mod_wsgi

Cómo instalar nginx con mod_wsgi en 3 pasos.

Probado en Ubuntu Linux. Pre-requisitos (paquetes que se pueden instalar via apt-get): build-essential, mercurial, libpcre3-dev y libssl-dev. (Creo que no me olvido de ninguno.)

  1. Bajar la última versión de nginx 0.7 de http://sysoev.ru/nginx/ (me re-caben los rusos) y el módulo mod_wsgi de su repositorio Mercurial:

    wget http://sysoev.ru/nginx/nginx-0.7.63.tar.gz
    tar -zxvf nginx-0.7.63.tar.gz
    hg clone http://hg.mperillo.ath.cx/nginx/mod_wsgi/


  2. Obtener y aplicar el parche para mod_wsgi, como se explica en este thread de gmane.comp.web.nginx.english:

    wget http://lophus.org/~fred/mod_wsgi_patch.diff
    cd mod_wsgi/
    patch -p1 < ../mod_wsgi_patch.diff
    cd ..


  3. Compilar nginx:

    cd nginx-0.7.63/
    ./configure --add-module=../mod_wsgi/ --with-debug
    make
    sudo make install 



Si todo sale bien, el "configure" termina con un resumen como este:
Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + md5: using system crypto library
  + sha1 library is not used
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"

Más sobre configuración de nginx en la nginx configuration wiki.