uwsgi 找不到 python 插件

uwsgi 找不到 python 插件

我正在尝试将 Python 应用程序部署到运行 Nginx / uWSGI 的 Ubuntu 12.04.1 VPS。我已按照以下方式设置服务器本指南。当我重新启动 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

我的应用程序.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 插件的帮助都将不胜感激。

答案1

您需要安装该插件。

sudo apt-get install uwsgi-plugin-python3

答案2

对于 ubuntu 和 python3:确保“which uwsgi”的结果是:/usr/local/bin/uwsgi 并在 .ini 文件中删除以下设置:plugin=python3


然后重试。

答案3

我想将此作为评论发布,但声誉不够。

如果您使用 pip 或 make 安装了 uwsgi(或者进行了自定义构建),那么您的 python 插件将被构建到二进制文件中,因此不会创建为共享库(.so 文件)。<plugin>python</plugin>在这种情况下,删除该行应该可以解决问题,因为这不是必需的,但会破坏设置。

类似问题的解决方案是这里解释

答案4

我最后用了Phusion 乘客运行我的应用程序。这就像配置和运行 Nginx 一样简单。

相关内容