2017-01-01 4 views
0

Я получаю эту ошибку, в Windows 7 Home Prime Edition 64-битная среда. Я пробовал много разных способов, как описано в документации apache. В httpd.conf у меня есть следующее: Окружающая среда Python 3.4, apache 2.4.25 mod_wsgi py25 vc10 64 бит. Далее я попытался запустить код Python через CGI, он работает нормально.mod_wsgi windows 7 Ошибка 64-разрядной установки

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] 
+0

И какова ошибка? Где вы видите эту ошибку? Какие сообщения находятся в журнале ошибок Apache? –

+0

Я пытался запустить этот код. #!/Python34/питон импорт ОС импорт подпроцесс os.environ [ 'PYTHON_EGG_CACHE'] = '/ Apache245/Apache24/HTDOCS' Защиту приложений (окружать, start_response): статус = '200 OK' выход = Ь ' ... Привет Мир Джанго ... ' response_headers = [(' Content-Type', 'текст/обычный'), ('Content-Length', ул (Len (выход)))] start_response (status, response_headers) return [output] – waldron

+0

Это все еще не отвечает вопрос о том, в чем проблема, где вы видели какую-либо ошибку и т. д. Требуется информация об ошибке. Невозможно догадаться без подробностей. –

ответ

0

Предположив, что файл mod_wsgi.so правильно в Апач модули каталога, изменить конфигурацию 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 

. Фактически есть. Это должно быть расположение DLL Python 3.4.

Предполагается, что ваш Python 3.4 установлен под /Python34.

Точка линии LoadFile - это принудительная загрузка библиотеки Python. Полученная ошибка также может означать, что DLL, на которую ссылается mod_wsgi.so, не найден ни в одном из стандартных мест.

WSGIPythonHome сообщает mod_wsgi, где установлена ​​установка Python. Обратите внимание, что это не WSGIPythonPath, как и у вас.

URL, который будет использоваться для доступа к приложению, будет http://localhost/wsgi.