mod_wsgi windows 7 64位安装问题

时间:2017-01-01 03:10:55

标签: apache mod-wsgi

我在Windows 7家庭黄金版64位环境中收到此错误。 我尝试过很多不同的方法,如apache文档中所述。 在httpd.conf中我有以下内容 环境Python 3.4,apache 2.4.25 mod_wsgi py25 vc10 64位。此外,我曾试图运行Python代码 通过CGI,它工作正常。

LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonEggs /apache2423/Apache24/htdocs
WSGIScriptAlias /wsgi /apache2423/Apache24/htdocs/wsgi.py
WSGIPythonPath /Python34
<Directory /apache2423/Apache24/htdocs/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

代码是:

#!/Python34/python
import os
import subprocess

os.environ['PYTHON_EGG_CACHE'] = '/Apache245/Apache24/htdocs'

def application(environ, start_response):
    status = '200 OK'
    output = b'<html> ... Hello World of Django ...</html>'
    response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))]
    start_response(status, response_headers)
    return [output]

1 个答案:

答案 0 :(得分:0)

假设mod_wsgi.so文件在Apache模块目录中正确,请将Apache配置更改为:

LoadFile /Python34/DLLs/python3.dll
LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonHome /Python34

WSGIScriptAlias /wsgi /apache2423/Apache24/htdocs/wsgi.py

<Directory /apache2423/Apache24/htdocs/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>

确认:

/Python34/DLLs/python3.dll

确实存在。它应该是Python 3.4 DLL的位置。

假设您的Python 3.4安装在/Python34

LoadFile行的要点是强制加载Python DLL。您获得的错误也可能意味着在任何标准位置都找不到mod_wsgi.so引用的DLL。

WSGIPythonHome告诉mod_wsgi Python安装的位置。请注意,它不是WSGIPythonPath

您用于访问该应用程序的网址为http://localhost/wsgi