я бегуApache (Haus) 2.4.12 64 битна Windows 7 64 бит.Питон 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. Может ли кто-нибудь мне помочь?
P.S.:этот вопросиэтот вопросне решило мою проблему. Все уже 64 бит, я правильно загружаю модуль и Python установлен для всех пользователей.
решение1
Я думаю, что нашел решение. Я не знал, какой файл скачать всайт, на котором есть исполняемые файлы Windows для mod_wsgi.so. Вот как структурировано имя файла (это то, чего я не понял):
mod_wsgi[версия WSGI]+ap[версия Apache]vc[версия Visual C++ Redistributable, которая использовалась для компиляции Apache]‑cp[версия Python]‑none‑win[32/64-битная версия].whl
У некоторых людей возникают проблемы с совместимостью, поскольку необходимо соответствовать точной версии Apache, скомпилированной с точной версией Visual C++ Redistributable, установив точную указанную версию Python, все это в 32- или 64-битной версии в соответствии с загруженным вами файлом. Если что-то из этого не совпадает, вы столкнетесь с ошибкой, которая была у меня. Решение заключается в загрузке соответствующего файла в зависимости от того, что у вас установлено, или в установке того, что доступно для работы с этими двоичными файлами Windows. В моем случае я пытался работать с Python 2.7 64 бит, к сожалению, для этой версии нет двоичного файла mod_wsgi. Итак, вот что я установил:
- Питон 2.7.9 32 бит
- Apache Haus 2.4.12 32 бит VC9
- mod_wsgi‑4.4.11+ap24vc9‑cp27‑none‑win32.whl
Затем я просто распаковал файл .whl, поместил его в папку modules и добавил для него директиву LoadModule в httpd.conf. Жаль, что мне приходится работать с 32-битной архитектурой, но теперь, по крайней мере, все работает нормально, и wsgi_module появляется в httpd -M
списке загруженных модулей. Надеюсь, этот ответ поможет кому-то в нужде!
решение2
Эта тема полезна для Windows 10, xampp веб-сервера также. Я пытался найти предкомпилированный mod_wsgi.so для Apache/2.4.27 (Win32) Python/2.7.13 Этосвязьполезно найти подходящую версию mod_wsgi. и вы можете скачать файл .whl, как предложил renatov