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> линия должна решить проблему в этом случае, так как это не обязательно, но нарушает настройку.

Решение аналогичной проблемы было объяснено здесь.

Другие вопросы по тегам