ApacheWsgiSetup » Cronologia » Versione 2
Simone Piccardi, 26-03-2014 15:17
1 | 1 | Simone Piccardi | h1. Configurare Apache/WSGI per Django e affini |
---|---|---|---|
2 | |||
3 | 2 | Simone Piccardi | 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, vedi http://www.slideshare.net/GrahamDumpleton/pycon-us-2013-making-apache-suck-less-for-hosting-python-web-applications). |
4 | 1 | Simone Piccardi | |
5 | 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: |
||
6 | |||
7 | <pre> |
||
8 | apt-get install apache2-mpm-worker |
||
9 | </pre> |
||
10 | |||
11 | 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. |
||
12 | |||
13 | Questo comporta modificare i default di @/etc/apache2/apache2.conf@ |