Environment variables in wsgi-applicaties
Soms heb je een environment variable nodig in een wsgi-applicatie, zoals bijvoorbeeld LD_LIBRARY_PATH
omdat een bepaalde C-bibliotheek niet beschikbaar is.
De normale manier om dat te doen is via mod_env
en SetEnv
in de VirtualHost-definitie, maar voor wsgi-applicaties werkt dat niet, omdat die gestart worden voor de eerste request. SetEnv
wordt enkel uitgevoerd bij de eerste request naar een site.
Je moet die variables meegeven aan het apache (httpd)-proces zelf, met dien verstande dat ze dan voor alle websites en webapplicaties beschikbaar zijn (wat misschien niet de bedoeling is). Op Ubuntu-gebaseerde systemen moet dat in /etc/apache2/envvars
, op RedHat-gebaseerde systemen gebruiken /etc/sysconfig/httpd
:
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/apa/lib"
Een procesherstart later zou de variable moeten beschikbaar zijn.