我正在部署一个 web2py 应用程序,我将通过 mod_wsgi 使用 Apache 为它提供服务。我的虚拟主机配置中有以下 WSGI 指令:
WSGIDaemonProcess web2py user=www-data group=www-data \
display-name=%{GROUP}
WSGIProcessGroup web2py
WSGIScriptAlias / /var/www/web2py/wsgihandler.py
这是有效的,但它需要系统范围的 python 安装。结果,找不到一些包(因为它们只存在于我的 virtualenv 中)。我想告诉这个特定的虚拟主机(或整个 Apache,如果没有其他方法),在我的虚拟环境中使用 python 安装(/home/myuser/.virtualenvs/python2.7.2/bin)。
是否可以为 Apache 配置它?或者更好,只是为了我的虚拟主机?我想对系统的其余部分造成尽可能小的影响(具体来说,我不想修改系统范围内使用的默认 python 版本)
请您参考如下方法:
在您的 wsgihandler.py 中,将其添加到顶部...
activate_this = '/path/to/virtualenv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this)
import sys
sys.path.insert(0, '/path/to/web2py_dir')
