NGINX+mod_wsgi

Il pacchetto NGINX+mod_wsgi fa parte della famiglia di offerte denominate "Application Server"

E' disponibile in 2 varianti, light e standard.

L'unica differenza e' nell'address space utilizzabile e nel numero di processi.

Sebbene NGINX sia rinomato sopratuttto per le sue performance, l'utilizzo del modulo mod_wsgi lo rende un ottimo strumento per il deploy di applicazioni python.

Ad oggi (gennaio 2008) sono state testate le seguenti applicazioni/framework:

Django

Pylons

Trac

MoinMoin

Turbogears

Al momento dell'attivazione, il cliente ricevera' il link all'area download da cui scegliere la versione di nginx che preferisce. Ogni tarball contiene una istanza gia' compilata di nginx+mod_wsgi con diverse opzioni di compilazione.

E' importante valutare che l'autore di mod_wsgi (che ha collaborato con noi nella realizzazione dell'offerta) ritiene che il suo modulo sia ancora in beta.

Dai nostri test non sono risultati problemi particolari, tuttavia per correttezza i prezzi delle offerte nginx+mod_wsgi sono piu' bassi a parita' di risorse. Tuttavia confidiamo che chi richieda tale tipo di offerte abbia le idee ben chiare sul prodotto che sta acquistando.

conf/nginx.conf

XXXX e' il numero di porta TCP assegnato

worker_processes  1;
error_log  logs/error.log;
pid        logs/nginx.pid;

events {
        worker_connections  1024;
}

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

        client_body_temp_path client_body_temp;
        proxy_temp_path proxy_temp;
        wsgi_temp_path wsgi_temp;

        access_log logs/access_log;

        sendfile        on;
        keepalive_timeout  65;

        server {
                listen       127.0.0.1:XXXX;
                server_name  localhost;

                include conf/wsgi_vars;

                location / {
                        root   html;
                        index  index.html index.htm;
                }

                error_page   500 502 503 504  /50x.html;

                location = /50x.html {
                        root   html;
                }
        }

}

conf/nginx.conf (virtualhost)

Utilizzando l'implementazione proxy di Unbit (uproxy) e' possibile usufruire del virtual hosting su nginx ed evitare l'utilizzo di piu' istanze se si hanno ancora risorse a disposizione.

worker_processes  1;
error_log  logs/error.log;
pid        logs/nginx.pid;

events {
        worker_connections  1024;
}


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

        client_body_temp_path client_body_temp;
        proxy_temp_path proxy_temp;
        wsgi_temp_path wsgi_temp;

        access_log logs/access_log;

        sendfile        on;
        keepalive_timeout  65;


        server {
                listen       127.0.0.1:XXXX;
                server_name  localhost;

                include conf/wsgi_vars;


                location / {
                        root   html;
                        index  index.html index.htm;
                }

                location /wiki {
                        wsgi_pass wsgi_apps/nginx-moinmoin.py;
                }


                error_page   500 502 503 504  /50x.html;

                location = /50x.html {
                        root   html;
                }
        }

        server {
                listen       127.0.0.1:XXXX;
                server_name  test2;
                location / {
                        root   html2;
                        index  index.html index.htm;
                }
        }

        server {
                listen       127.0.0.1:XXXX;
                server_name  prova;
                location / {
                        root   html3;
                        index  index.html index.htm;
                }
        }

}

Nginx (l'ultima modifica รจ del 2008-02-12 18:13:58, fatta da RobertoDeIoris)