如何使用Apache和mod_wsgi为django网站单独设置LD_LIBRARY_PATH

jan*_*jan 10 apache django mod-wsgi

我在Apache2上使用mod_wsgi在ubuntu上部署我的Django网站.

在我的Django视图中,我导入了一个需要在LD_LIBRARY_PATH中设置特定路径的模块.

当我在/ etc/apache2/envvars中设置LD_LIBRARY_PATH时:

export LD_LIBRARY_PATH=/home/user/target_libdir:$LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)

有用.

但是,在我的服务器上,我使用独立的wsgi脚本运行多个django网站,每个网站都在独立的VirtualHost条目中.

问题是网站需要使用不同的LD_LIBRARY_PATH版本.

那么,如何为每个django网站单独设置LD_LIBRARY_PATH?

Gra*_*ton 6

你不能这样做.LD_LIBRARY_PATH仅在初始进程启动时读取一次.它不能在进程运行时设置,也不能在fork之前再次设置它.你可以在exec之前设置它,但是mod_wsgi守护进程只是fork而不是exec.