我正在使用 mod_wsgi 在 apache 上部署两个 django 站点。我已经安装了两个 virtualenvs:
/home/user/virtualenv1
/home/user/virtualenv2
现在我的问题是配置 wsgi 应用程序以使用这些,例如我有:
/var/www/djangosite1
/var/www/djangosite1/project1/wsgi.py
/var/www/djangosite2
/var/www/djangosite2/project2/wsgi.py
我的 apache 是通过 openPanel 配置的,所以我的 VirtualHosts 包括如下:
/etc/apache2/openpanel.d/project1.com.inc/django.conf
<VirtualHost *:80>
ServerName project1
WSGIDaemonProcess project1 user=user group=www-data processes=2 threads=25 python-path=/home/user/virtualenv1/lib/python2.6/site-packages
WSGIProcessGroup project1
</VirtualHost>
/etc/apache2/openpanel.d/project2.com.inc/django.conf
<VirtualHost *:80>
ServerName project2
WSGIDaemonProcess project2 user=user group=www-data processes=2 threads=25 python-path=/home/user/virtualenv2/lib/python2.6/site-packages
WSGIProcessGroup project2
</VirtualHost>
现在我重新启动apache:
service apache2 reload
这没有给我任何错误,接下来我跟踪错误日志并访问我的 project.com
tail -f /var/log/apache2/error.log
这给了我这个错误
ImportError: No module named south
当我在我的系统上(不是在 virtualenv 中)安装 south 时,一切正常,但当然想法不是污染系统,而是为每个站点使用单独的虚拟 env。
我想我错过了明显的..