Skip to main content
 首页 » 编程设计

python之带有 virtualenv 的 apache mod_wsgi 中的 Web2py

2024年08月30日35sharpest

我正在部署一个 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')