Подтвердить что ты не робот

UWSGI: никакой плагин запроса не загружен, вы не сможете управлять запросами

Я загрузил uWSGI v 1.9.20, построенный из исходного кода. Я получаю эту ошибку, но как определить, какой плагин необходим?

!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!
no request plugin is loaded, you will not be able to manage requests.
you may need to install the package for your language of choice, or simply load
it with --plugin.
!!!!!!!!!!! END OF WARNING !!!!!!!!!!

Какой плагин должен быть загружен?

4b9b3361

Ответ 1

У меня была эта проблема и застряла в течение нескольких часов.

моя проблема отличается от приведенного ответа, убедитесь, что у вас есть plugins = python в вашем файле uwsgi ini, и вы устанавливаете плагин uwsgi python:

sudo apt-get install uwsgi-plugin-python

После того, как я сделал это, мое приложение сработало. Очевидно, что это для проектов python, но для других проектов необходим аналогичный подход.

Ответ 2

Возможно, проще всего установить uwsgi через pip вместо диспетчера пакетов из используемой ОС, пакет в папке, как правило, более обновлен, чем менеджеры пакетов из ОС, которые вы могли бы использовать:

sudo pip install uwsgi

Это все равно решило это для меня.

Для использования нескольких версий Python на одном сервере я бы посоветовал взглянуть на virtualenv:
https://virtualenv.pypa.io/en/latest/

Ответ 3

На моей стороне это связано с тем, что вместо [uwsgi] в качестве заголовка моей конфигурации внутри /etc/uwsgi/apps-available/ я помещаю что-то еще (имя приложения).

Ответ 4

У меня была аналогичная проблема, но это ее решило (кстати, я использую MacOs, и оба python2 & 3 версии установлены, но я хотел использовать Python3):

  • Откройте терминал и проверьте местоположение python3, набрав:

который python3

  • Скопируйте полный путь и назначьте его; плагины в файле .ini

Надеюсь, это поможет!

Ответ 5

Просто наткнулся на это сообщение об ошибке и потратил впустую пару часов, но в моем случае причина была отличной от всего, что упоминалось в других ответах уже.

Предположим, вы только что установили локальную версию uWSGI через pip в свой собственный virtualenv (например, как описано здесь).

Предположим, вы сейчас пытаетесь запустить ваш uWSGI-сервер как root (потому что вы хотите, чтобы приложение было как пользователь www-data, например). Вот как вы это сделаете, правильно?

. venv/bin/activate
sudo uwsgi --ini your-app.ini

Неправильно! Даже если ваш локальный uwsgi находится на вашем пути после активации вашей среды, этот путь не передается в команду sudo, и вы запускаете систему uwsgi, а не локальную, что может быть источником бесконечная путаница, как это было в моем случае.

Итак, решение в моем случае состояло в том, чтобы просто указать полный путь:

sudo /full/path/to/venv/bin/uwsgi --ini your-app.ini

Ответ 6

Если вы выполнили все шаги установки плагина python, а uwsgi --plugin-list все еще не смог указать 0: python качестве одного из плагинов, попробуйте перезагрузить компьютер. Экземпляр uwsgi запускался как служба (из Bash, используйте service status-all чтобы видеть запущенные службы), и, возможно, обновленные настройки конфигурации были загружены при перезагрузке службы.