Project

General

Profile

Actions

ApacheWsgiSetup » History » Revision 1

Revision 1/3 | Next »
Simone Piccardi, 03/26/2014 03:16 PM


Configurare Apache/WSGI per Django e affini

L'uso di mod_wsgi per eseguire applicazione web in Python (prima fra tutte Django) può risultare molto problematico con la configurazione standard, dato che questa è pensata per applicazioni PHP e le modalità di funzionamento di quelle Phyton è totalmente diversa. Quanto indicato qui deriva dalle indicazioni date dall'autore di mod_wsgi (Graham Dumpleton).

In particolare dovendo caricare tutta l'applicazione in un colpo solo all'avvio, la creazione e distruzione di processi tipica dell'MPM prefork rischia di avere un impatto molto pesante sulle prestazioni. E' pertanto opportuno utilizzare sempre l'MPM worker, cosa che su Debian si fa installando:

apt-get install apache2-mpm-worker

Occorre inoltre una configurazione iniziale adeguata, dato che la memoria è condivisa infatti non conviene far partire inizialmente troppi processi ed evitare di tenerne attivi troppi, in quanto l'occupazione di memoria verrà aumentata, in particolare poi è importante la direttiva MaxMemFree, che indica la quantità di memoria che il thread pool può allocare senza chiamare un free per liberare quella inusata. Questo su Apache 2.2 è illimitato, ma in realtà questa non serve ed è opportuna ridurla.

Questo comporta modificare i default di /etc/apache2/apache2.conf

Updated by Simone Piccardi almost 11 years ago · 1 revisions