Jan 25 2007
User: cedric
Category: Techno
Tags: rails nginx

nginx-mongrel-rails-debian

En surfant sur le blog de Francois Simond blog.lienweb.fr j’y ai vu que sa future application idphoto.org était configurée pour fonctionner avec nginx et fastcgi.

FastCGI je connais, mais nginx (Engine X) non…

Je me suis amusé un peu sur ma debian Etch à voir comment cela pouvait fonctionner. Nginx est un serveur HTTP , HTTP reverse proxy et serveur proxy IMAP/POP3 écrit par Igor Sysoev.

Après avoir consulté les documentations disponibles j’ai pu faire tourner nginx devant un cluster Mongrel, c’est assez interressant, relativement facile à mettre en place.Je vais pouvoir mettre ca en place au boulot pour des tests ;)

Ressources:

pour ceux que ca interresse le fichier /etc/nginx/nginx.conf:

    user www-data;
    worker_processes  2;

    error_log  /var/log/nginx/error.log;
    pid        /var/run/nginx.pid;

    events {
        worker_connections  1024;
    }

    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;

        access_log    /var/log/nginx/access.log;

        sendfile        on;
        #tcp_nopush     on;

        #keepalive_timeout  0;
        keepalive_timeout  65;
        tcp_nodelay        on;

        gzip  on;

        upstream mongrel {
            server 127.0.0.1:5000;
            server 127.0.0.1:5001;
            server 127.0.0.1:5002;
        }

        server {
            listen       80;
            server_name  localhost;
            root /chemin vers application/public;

            access_log  off;
            rewrite_log on;

            location ~ ^/$ {
              if (-f /index.html){
                rewrite (.*) /index.html last;
              }
               proxy_pass  http://mongrel;
            }

            location / {
              if (!-f $request_filename.html) {
                proxy_pass  http://mongrel;
              }
              rewrite (.*) $1.html last;
            }

            location ~ .html {
               root /chemin vers application/public;
            }

            location / {
                proxy_pass  http://mongrel;
                proxy_redirect     off;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            }

        }
    }

le cluster mongrel est configuré par cette commande: mongrel_rails cluster::configure -e development -p 5000 -N 3 -c chemin_vers_application -a 127.0.0.1

démarrage du cluster:

mongrel_rails cluster::start

démarrage de nginx:

/etc/init.d/nginx start

Et normalement votre application est accessible sous http://localhost

comments : 0 Add comment

Back
Log in

Quick links

Localization

Search

weather


  • metric us

gallery

Last comments

  • no new comments

Categories

  • categories

nabaztag

  • message

    left
    right
    voice
    speed
    pitch

hcard