Назад | Перейти на главную страницу

mod_wsgi не работает на Apache 2.4.12 64 bit на Windows 7

я бегу Apache (Haus) 2.4.12 64 бит в Windows 7 64 бит. Python 2.7.9 64 бит установлен. Apache работает безупречно, если я не пытаюсь загрузить mod_wsgi. Я скачал mod_wsgi.so с этот сайт. Я извлек этот файл, скопировал mod_wsgi.so к C: \ Apache24 \ модули и добавил эту строку в httpd.conf:

LoadModule wsgi_module modules/mod_wsgi.so

После этого Apache больше не работает:

C:\Apache24\bin>httpd.exe -k start
httpd.exe: Syntax error on line 76 of C:/Apache24/conf/httpd.conf: Cannot load 
modules/mod_wsgi.so into server: The specified module could not be found.

Он говорит, что не смог найти mod_wsgi.so, но я много раз проверял, оно есть! Я пробовал ту же процедуру для всех четырех доступных 64-битных версий на сайте, но все они дают одну и ту же ошибку. Я не знаю, что происходит. Я уже пробовал Apache Haus 2.4.12, скомпилированный с VC9, VC11 и Apache Lounge 2.4.12, тоже скомпилированный с VC10. Может кто-нибудь мне помочь?


PS: этот вопрос и этот вопрос не решил мою проблему. Все уже 64 бит, я правильно загружаю модуль и Python установлен для всех пользователей.

Думаю, я нашел решение. Я не понимал, в какой файл загружать сайт, на котором есть двоичные файлы Windows для mod_wsgi.so. Вот как структурировано имя файла (этого я не понял):

mod_wsgi [версия WSGI] + ap [версия Apache] vc [Распространяемая версия Visual C ++, которая использовалась для компиляции Apache] ‑cp [версия Python] ‑none-win [32/64 битная версия] .whl

У некоторых людей возникают проблемы с совместимостью, потому что необходимо, чтобы она соответствовала точной версии Apache, скомпилированной с точной версией распространяемого пакета Visual C ++, установив точную указанную версию Python, и все это в 32-битной или 64-битной версии в зависимости от загруженного вами файла. Если некоторые из этих вещей не совпадают, вы столкнетесь с моей ошибкой. Решение состоит в том, чтобы загрузить соответствующий файл, в зависимости от того, что вы установили, или установить то, что доступно для работы с этими двоичными файлами Windows. В моем случае я пытался работать с Python 2.7 64 бит, к сожалению, для этой версии нет бинарного файла mod_wsgi. Итак, вот что я установил:

  • Python 2.7.9 32 бит
  • Apache Haus 2.4.12 32-разрядный VC9
  • mod_wsgi ‑ 4.4.11 + ap24vc9 ‑ cp27 ‑ none ‑ win32.whl

Затем я просто разархивировал файл .whl, поместил его в папку модулей и добавил для него директиву LoadModule в httpd.conf. Жалко, что мне приходится работать с 32-битной архитектурой, но, по крайней мере, сейчас все вроде работает нормально и wsgi_module появляется на httpd -M список загруженных модулей. Надеюсь, этот ответ поможет кому-то в нужде!

Этот раздел также полезен для Windows 10, веб-сервера xampp. Я изо всех сил пытался найти предварительно скомпилированный mod_wsgi.so для Apache / 2.4.27 (Win32) Python / 2.7.13 Это ссылка на сайт полезно найти подходящую версию mod_wsgi. и вы можете скачать файл .whl, как предложил Ренатов