Python 如何在Apache2.2中托管Django1.3.1?

Python 如何在Apache2.2中托管Django1.3.1?,python,windows,django,apache2,django-wsgi,Python,Windows,Django,Apache2,Django Wsgi,我正在WindowsXP(win32)上使用python 2.7.2、Django 1.3.1、Apache 2.2.22。根据我找到的文档,我一步一步地完成了这项工作,但是当给出目录部分时 `Alias /media/ C:/Programs/TestDjango/mysite/media/ <Directory C:/Programs/TestDjango/mysite/media/> Order deny,allow Allow from all

我正在WindowsXP(win32)上使用python 2.7.2、Django 1.3.1、Apache 2.2.22。根据我找到的文档,我一步一步地完成了这项工作,但是当给出目录部分时

   `Alias /media/ C:/Programs/TestDjango/mysite/media/
    <Directory C:/Programs/TestDjango/mysite/media/>
    Order deny,allow
    Allow from all
    </Directory>
    WSGIScriptAlias / C:/Programs/TestDjango/mysite/apache/django.wsgi
    <Directory C:/Programs/TestDjango/mysite/apache>
    Order deny,allow
    Allow from all
    </Directory>`
`Alias/media/C:/Programs/TestDjango/mysite/media/
命令拒绝,允许
通融
WSGIScriptAlias/C:/Programs/TestDjango/mysite/apache/django.wsgi
命令拒绝,允许
通融
`
并重新启动Apache,打开本地LoalHist/MyStand,得到微软Visual C++库运行时错误,Apache错误日志显示“在渲染时捕获了不正确配置:错误加载PyoDoc模块:DLL加载失败:动态链接库(DLL)初始化例程失败。”…我的Django应用程序在WAMP中运行,但我想知道我单独使用Apache2.2.22时哪里出了问题。遵循了许多Django文档,但仍然是一样的,请帮助我找到哪里出了问题。谢谢


(guettli修复了标识)

您的错误与python设置有关,而与Apache无关

加载pyodbc模块时出错:DLL加载失败:动态链接库(DLL)初始化例程失败。


这意味着与Apache一起使用的Python无法加载
pyodbc
模块。修复此错误后,可以继续操作。

您的错误与python设置有关,而不是与Apache有关

加载pyodbc模块时出错:DLL加载失败:动态链接库(DLL)初始化例程失败。


这意味着与Apache一起使用的Python无法加载
pyodbc
模块。一旦修复了这个错误,您就可以继续了。

我解决了它,这是版本问题,因为我使用的是Apache 2.2.21,而不是Apache 2.2.22,它可以正常工作。我遵循了这一步骤

安装Python 2.7.2、Django 1.3.1和Apache2.2.21 安装modwsgi模块

模块文件的名称类似于mod_wsgi-win32-ap22py26-2.6.so

将其复制到Apache安装的modules目录。例如,C:/Program Files/Apache Software Foundation/Apache2.2/modules

将其重命名为mod_wsgi.so。右键单击-->属性单击取消阻止并应用

打开Apache的http.conf文件

在所有其他LoadModule条目之前添加LoadModule wsgi_module modules/mod_wsgi.so行

通过在http.conf的末尾添加以下内容,为Django项目配置Apache:

# Static content
    Alias /media/ C:/Programs/TestDjango/mysite/media/

    <Directory C:/Programs/TestDjango/mysite/media/>
    Order deny,allow
    Allow from all
    </Directory>

# Django dynamic content

    WSGIScriptAlias / C:/Programs/TestDjango/mysite/apache/django.wsgi

    <Directory C:/Programs/TestDjango/mysite/apache>
    Order deny,allow
    Allow from all
    </Directory>`

重新启动Apache。

我解决了它,这是版本问题,因为我使用的是Apache 2.2.21,而不是Apache 2.2.22,它可以正常工作。我遵循了这一步骤

安装Python 2.7.2、Django 1.3.1和Apache2.2.21 安装modwsgi模块

模块文件的名称类似于mod_wsgi-win32-ap22py26-2.6.so

将其复制到Apache安装的modules目录。例如,C:/Program Files/Apache Software Foundation/Apache2.2/modules

将其重命名为mod_wsgi.so。右键单击-->属性单击取消阻止并应用

打开Apache的http.conf文件

在所有其他LoadModule条目之前添加LoadModule wsgi_module modules/mod_wsgi.so行

通过在http.conf的末尾添加以下内容,为Django项目配置Apache:

# Static content
    Alias /media/ C:/Programs/TestDjango/mysite/media/

    <Directory C:/Programs/TestDjango/mysite/media/>
    Order deny,allow
    Allow from all
    </Directory>

# Django dynamic content

    WSGIScriptAlias / C:/Programs/TestDjango/mysite/apache/django.wsgi

    <Directory C:/Programs/TestDjango/mysite/apache>
    Order deny,allow
    Allow from all
    </Directory>`

重新启动Apache。

您是否已验证mod_wsgi是否正确加载到Apache的独立安装中?@jlmonard:yes mod_wsgi正在加载。您是否已验证mod_wsgi是否正确加载到Apache的独立安装中?@jlmonard:yes mod_wsgi正在加载。但同样的Python和Django在Django中工作正常内置服务器,使用WAMP,但不使用独立Apache,因此我认为python设置中没有错误。但同样的python和Django在Django的内置服务器中工作良好,使用WAMP,但不使用独立Apache,因此我认为python设置中没有错误。