Как установить mod_wsgi для apache 2.4 и python 3.4 в Windows?

У меня уже был установлен apache 2.4 с xampp. Я попытался добавить mod_wsgi, используя шаги, упомянутые здесь

Но когда я добавляю строку

LoadModule wsgi_module modules/mod_wsgi-py34-vc10.so

Апач не запускается.


person Yadynesh Desai    schedule 17.02.2017    source источник


Ответы (5)


Лучше собрать mod_wsgi самостоятельно из кода, чем использовать произвольный двоичный файл из сети. Шаги следующие.

  • Убедитесь, что у вас есть достойная установка Apache, которая включает файлы заголовков, например. Apache 2.4.37 Win64 из Apache Lounge . Желательно установить в месте C:/Apache24.

  • Убедитесь, что ваша установка Python настроена так, что вы можете pip устанавливать модули. Это должно включать наличие правильного компилятора Microsoft C, необходимого для этой версии Python.

  • Выполнить pip install mod_wsgi. Если ваша установка Apache не находится в C:/Apache24, сначала установите переменную среды MOD_WSGI_APACHE_ROOTDIR в ее местоположение. Убедитесь, что вы указываете путь как C:/Apache24, а не с обратной косой чертой, то есть не как C:\Apache24. Это необходимо только при установке, а не позже.

  • Выполнить mod_wsgi-express module-config.

  • Скопируйте вывод запуска mod_wsgi-express module-config в файл конфигурации Apache.

  • Добавьте конфигурацию для приложения WSGI в конфигурацию Apache.

  • Перезапустите Apache и посмотрите, работает ли он.

Обратите внимание, что при первоначальном тестировании лучше начинать с приветствия WSGI, а не с какого-то огромного приложения Django.

person Graham Dumpleton    schedule 17.02.2017
comment
Спасибо. Вместо этого я начал изучать Django. Пока использую их сервер - person Yadynesh Desai; 07.03.2017
comment
Когда я запускаю pip install mod_wsgi, происходит сбой с c:\apache24\include\apr_network_io.h(29) : fatal error C1083: Cannot open include file: 'apr_perms_set.h': No such file or directory'. Это с httpd 2.4.27. Есть идеи, как это исправить? - person Larry Martell; 13.08.2017
comment
Вышеупомянутая попытка была с источником, который я скачал с http://mirrors.gigenet.com/apache/httpd/httpd-2.4.27.tar.gz. Я только что попытался собрать исходный код, клонированный из github, и это не удалось с c:\apache24\include\ap_hooks.h(39) : fatal error C1083: Cannot open include file: 'apr.h': No such file or directory - person Larry Martell; 13.08.2017
comment
Я думал, что это тот же вопрос, и я попробовал ваше решение, и у меня возникли проблемы. Потому и спросил в комментариях. Я создам новый вопрос. - person Larry Martell; 13.08.2017
comment
сначала установите переменную среды MOD_WSGI_APACHE_ROOTDIR в ее местоположение. Как это делается? - person Chris Nielsen; 23.08.2017
comment
Это зависит от того, какую оболочку вы используете в Windows. Вы искали Как установить переменную среды из оболочки в Windows? - person Graham Dumpleton; 23.08.2017
comment
в windows cmd настройка переменной среды выполняется через set MOD_WSGI_APACHE_ROOTDIR=c:/path/to/apache Обратите внимание, что она будет отключена, как только вы закроете cms - person Simon Zyx; 18.10.2018
comment
Возможно, вам придется установить инструменты сборки Visual Studio, чтобы это работало. Их можно найти на странице visualstudio,microsoft.com/downloads в разделе инструменты. В следующем меню вы должны выбрать инструменты сборки cpp, из которых вам нужен только Windows 10 SDK (около 4,5 ГБ) - person Simon Zyx; 18.10.2018
comment
Я разместил вопрос об отсутствующих файлах include: stackoverflow.com/questions/54268396/ - person Serge Rogatch; 19.01.2019
comment
Куда добавить возврат команды mod_wsgi-express module-config в httpd.conf? Мне открыть для этого каталог или мне нужно добавить его в какой-то существующий в файле? В документе это не разъясняется. - person ReinholdN; 19.01.2020

Используйте выпуск Apache Lounge, если вы все еще найдете c:\apache24\include\apr_network_io.h(29) : fatal error C1083: Cannot open include file: 'apr_perms_set.h': No such file or directory'. . Это лучше всего подходит для Windows.

person L.ZH    schedule 24.02.2018

@LarryMartell Я столкнулся с той же проблемой в Windows и исправил ее. Вы можете попробовать скопировать файл apr_perms_set.h из репозитория apr (https://github.com/traviscross/apr ) в папку include Apache2.4.

person ZMJ    schedule 04.10.2017
comment
Это не отвечает на исходный вопрос. Копирование файлов заголовков APR из отдельного репозитория также не гарантирует работу, если проблема была в том, что они отсутствовали. Вместо этого используйте дистрибутив Apache, который отправляет заголовочные файлы. Если вы не используете те же файлы заголовков, с которыми был скомпилирован Apache, вы можете столкнуться с проблемами. - person Graham Dumpleton; 04.10.2017

Я использую 64-битную операционную систему и у меня установлен 64-битный Python.

установка дистрибутива apache для 64-битной ОС из apachelounge https://www.apachelounge.com/download/ решил проблему для меня.

person Ohia George    schedule 09.09.2018
comment
Да, это единственное решение, которое я нашел до сих пор. Остается вопрос, как это исправить для ApacheHaus: stackoverflow.com/questions/54268396/ - person Serge Rogatch; 19.01.2019

person    schedule
comment
Рекомендуемый метод — создать его самостоятельно, используя pip install mod_wsgi, как объясняется в другом ответе. Захват произвольных двоичных файлов не гарантирует работу. Вы должны собрать его для вашей конкретной установки Apache. - person Graham Dumpleton; 15.09.2017
comment
lfd.uci.edu/~gohlke/pythonlibs сэкономил мне много времени получить цепочку инструментов компилятора VC на моей машине. В основном pip install <.whl file>, затем продолжайте следовать инструкциям здесь: github.com/GrahamDumpleton/ mod_wsgi/blob/develop/win32/ - person solstice333; 04.08.2018