Как вы устанавливаете mod_wsgi?


33

Я выполнил следующие команды

sudo apt-get install libapache2-mod-wsgi
sudo a2enmod mod-wsgi

Я продолжаю получать это чрезвычайно расстраивающее сообщение

ERROR: Module mod-wsgi does not exist!

Пожалуйста помоги.


1
sudo a2enmod предоставит вам список установленных модулей. Просто включите wsgi, как сказал ajmitch
sagarchalise

Ответы:


21

Использование sudo a2enmod wsgiдолжно активировать модуль после перезагрузки apache, так как большинству модулей не требуется префикс mod_ при их включении.


Я пытался, sudo a2enmod wsgiно даже я все еще получаю ту же ошибку. Я набрал, sudo a2enmodи это варианты, которые я получил dpaste.de/NEIcf Он не содержит wsgi. Можно ли задать этот вопрос здесь или мне нужно опубликовать новый вопрос?
Sam007

15
sudo nano /etc/apache2/mods-available/wsgi.load

добавить следующую строку в файл

LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so

сохранить, затем

sudo a2enmod wsgi
sudo service apache2 restart

И как это проверить?
Сёрен

не уверен, что есть какой-то test_mode_wsgiсценарий .. просто укажите apache на ваше приложение wsgi (посмотрите в документации вашей платформы, как это сделать), и проверьте, работает ли он ..
Valentin Kantor

0

Попробуйте добавить wsgi.load и wsgi.conf из mods-available в mods-enabled вручную, а затем перезапустите Apache.


0

WSGI Предупреждение

Официальная документация WSGI гласит:

При использовании виртуальной среды Python с mod_wsgi очень важно, чтобы она была создана с использованием той же установки Python, для которой изначально была скомпилирована mod_wsgi.

А потом:

Это не представляется возможным использовать виртуальную среду Python , чтобы заставить mod_wsgi использовать другую версию Python, или даже другую установку Python . Другими словами, интерпретатор Python встроен в mod_wsgi.

Поэтому я бы не рекомендовал какой-либо из предварительно скомпилированных двоичных файлов mod_wsgi, aptно вместо этого вы можете скомпилировать его, следуя официальным документам по установке .

Другой способ

Используйте https://gunicorn.org/ и Apache's

ProxyPass / http://localhost:8000/

директива в вашем конфиге virtualhost.


0

Шаг 1: Следующая команда установит модуль wgsi

sudo apt-get install libapache2-mod-wsgi

Шаг 2: Чтобы включить модуль wsgi, выполните следующую команду

sudo a2enmod wsgi

Шаг 3: Перезагрузите сервер apache, запустив

sudo systemctl restart apache2

Шаг 4: Проверьте, загружен ли модуль

apache2ctl -t -D DUMP_MODULES   

PS: я использую Ubuntu 18.04 LTS

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.