uwsgi не может найти плагин Python
Я пытаюсь развернуть приложение Python на моем Ubuntu 12.04.1 VPS под управлением Nginx / uWSGI. Я настроил свой сервер, следуя этому руководству. Когда я перезапускаю uWSGI, я получаю это сообщение:
nickd@my-vps:~$ sudo /etc/init.d/uwsgi restart
[sudo] password for nickd:
* Restarting app server(s) uwsgi
[uWSGI] getting INI configuration from /usr/share/uwsgi/conf/default.ini
[uWSGI] parsing config file /etc/uwsgi/apps-enabled/application.net.xml
open("./python_plugin.so"): No such file or directory [core/utils.c line 4700]
!!! UNABLE to load uWSGI plugin: ./python_plugin.so: cannot open shared object file: No such file or directory !!! Tue Dec 11
15:18:06 2012 - [WARNING] option "app" is deprecated: use the more advanced "mount" option
Мое application.net.xml:
<uwsgi>
<plugin>python</plugin>
<socket>/run/uwsgi/app/application.net/application.net.socket</socket>
<pythonpath>/var/www/apps/application/</pythonpath>
<app mountpoint="/">
<script>wsgi_configuration_module</script>
</app>
<master/>
<processes>4</processes>
<harakiri>60</harakiri>
<reload-mercy>8</reload-mercy>
<cpu-affinity>1</cpu-affinity>
<stats>/tmp/stats.socket</stats>
<max-requests>2000</max-requests>
<limit-as>512</limit-as>
<reload-on-as>256</reload-on-as>
<reload-on-rss>192</reload-on-rss>
<no-orphans/>
<vacuum/>
</uwsgi>
Моя конфигурация INI по умолчанию.
Буду признателен за любую помощь в получении uWSGI для загрузки плагина Python.
3 ответа
Я просто использовал Phusion Passenger для запуска своего приложения. Это было так же просто, как настроить и запустить Nginx.
Вам нужно установить плагин.
sudo apt-get install uwsgi-plugin-python3
Для ubuntu и python3: убедитесь, что результатом "which uwsgi" является: /usr/local/bin/uwsgi, и удалите следующие настройки в вашем файле.ini: plugin=python3
Затем попробуйте еще раз.
Я хотел оставить это как комментарий, но у меня недостаточно репутации.
Если вы установили свой uwsgi с помощью pip или make (или иным образом сделали пользовательскую сборку), ваш плагин python будет встроен в двоичный файл и, следовательно, не будет создан как общая библиотека (файл.so). Удаление <plugin>python</plugin>
линия должна решить проблему в этом случае, так как это не обязательно, но нарушает настройку.
Решение аналогичной проблемы было объяснено здесь.