如何为多个独立的Django实例配置apachewsgi?

2024-06-26 00:28:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个apache实例,其中包含以下内容

WSGIPythonPath /production/somelocation/django12/lib/python2.4/site-packages/
<VirtualHost 192.168.1.1:443>
        WSGIScriptAlias / /opt/project.wsgi
        .....

我的django1.5应用程序apache配置看起来像

^{pr2}$

我的/选项/项目.wsgi看起来像

import os
import sys

# django1.2 virtualenv
import site
site.addsitedir("/production/somelocation/django12/lib/python2.4/site-packages")
.....

但是,当我访问这个站点时,我仍然得到默认的django(1.5)实例。我错过了什么?在


Tags: 实例importprojectwsgilibpackagesapachesite
3条回答

您可能需要设置WSGIPythonHome,因为您有不同的Django安装。在

WSGIPythonPath用于定义其他目录,但此选项不设置python安装。因此,您的默认python目录可能还包括django(1.5),并将此版本识别为默认的django版本。我不知道您的python和django的安装和配置,但这可能是原因所在。在

WSGIPythonHome的其他信息

我是这样处理金字塔的:

<VirtualHost *:80>
    Servername hackintosh
    DocumentRoot "/Library/WebServer/Documents"
</VirtualHost>


<VirtualHost *:80>
    ServerName modwebsocket.local
    ErrorLog "/PythonProjects/MOD_WEBSOCKET/logs/error_log"
    CustomLog "/PythonProjects/MOD_WEBSOCKET/logs/access_log" common

    WSGIDaemonProcess pyramid-modwebsocket user=apero group=staff threads=4 python-path=/PythonProjects/MOD_WEBSOCKET/lib/python2.7/site-packages
    WSGIProcessGroup pyramid-modwebsocket

    WSGIScriptAlias /  /PythonProjects/MOD_WEBSOCKET/wsgi/pyramid.wsgi

    <Directory "/PythonProjects/MOD_WEBSOCKET/wsgi">
        WSGIProcessGroup pyramid-modwebsocket
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

<VirtualHost *:80>
    ServerName ai.local
    ErrorLog "/PythonProjects/AI/logs/error_log"
    CustomLog "/PythonProjects/AI/logs/access_log" common

    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    WSGIDaemonProcess pyramid-ai user=apero group=staff threads=4 python-path=/PythonProjects/AI/lib/python2.7/site-packages
    WSGIProcessGroup pyramid-wizard

    WSGIScriptAlias /  /PythonProjects/AI/wsgi/pyramid.wsgi

    <Directory "/PythonProjects/AI/wsgi">
        WSGIProcessGroup pyramid-ai
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

不过,提到pythome或其他pythome设置是正确的。WSGIPythonPath/WSGIPythonHome只能设置服务器范围的,因此每个虚拟主机没有不同的路径。在

您需要使用WSGIDaemonProcesspython pathhome参数为每个虚拟主机设置python路径和应用程序主目录。在

另外,在代码中不需要调整python路径;只需确保virtualhost配置是正确的。在

相关问题 更多 >