Як встановити 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

І як це перевірити?
Sören

не впевнений, що існує якийсь test_mode_wsgiсценарій .. просто вкажіть apache на вашу програму wsgi (перевірте, як це можна зробити в документах), і перевірте, чи працює він ..
Валентин Кантор

0

Спробуйте додати wsgi.load та wsgi.conf з модів, доступних до модів, включених вручну, а потім перезапустіть 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

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.