Python 3.x uWSGI:隐式插件请求nolang 问题
几天后,我们在uWSGI中使用了不同的Python版本。我们设法做到了。(网站再次运行。)但我们的日志中出现错误(Python 3.x uWSGI:隐式插件请求nolang 问题,python-3.x,uwsgi,pyenv,Python 3.x,Uwsgi,Pyenv,几天后,我们在uWSGI中使用了不同的Python版本。我们设法做到了。(网站再次运行。)但我们的日志中出现错误(systemctl status-uwsgi-emperor.service): 我找不到一个nolang\u插件。所以在任何地方都找不到。如果你在谷歌上搜索它,你会得到一个完整的结果,但这并没有帮助 我还检查了我们的配置文件中是否不需要plugin=nolang或类似的东西。(但在日志中,它说这个插件是被隐式请求的。) 装置 我们的系统Python版本是3.5。我已经用pyenv安
systemctl status-uwsgi-emperor.service
):
我找不到一个nolang\u插件。所以在任何地方都找不到。如果你在谷歌上搜索它,你会得到一个完整的结果,但这并没有帮助
我还检查了我们的配置文件中是否不需要plugin=nolang
或类似的东西。(但在日志中,它说这个插件是被隐式请求的。)
装置
我们的系统Python版本是3.5。我已经用pyenv安装了python3.6:env CONFIGURE_OPTS=“--enable shared”pyenv安装3.6.8
。--enable shared
是构建uWSGI插件所必需的。(我应该像上面说的那样用env PYTHON\u CFLAGS=-fPIC pyenv install 3.6.8
安装它吗?因为错误消息告诉我用这些标志重新编译PYTHON,但我当时不知道PYTHON\u CFLAGS
)
然后我们接着编译uWSGI和Python 3.5和3.6的插件
即,使用makeprofile=nolang
编译uWSGI,然后构建插件:
/uwsgi——构建插件“plugins/python35”
pyenv本地3.6.8
./uwsgi——构建插件“plugins/python36”
(我们将编译的uwsgi
可执行文件重命名为uwsgi\u nolang
)
环境
- Debian 4.9.130-2
- pyenv 1.2.9
- uWSGI 2.0.18
- nginx
Loaded: loaded (/etc/uwsgi/uwsgi-emperor.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2019-03-08 06:55:08 CET; 8min ago
Process: 28501 ExecStart=/usr/local/bin/uwsgi_nolang --ini /etc/uwsgi/emperor.ini --emperor-pidfile /run/uwsgi/emperor.pid --plugins-dir /usr/lib/uwsgi/plugins (code=exited, st
Process: 28497 ExecStartPre=/bin/bash -c mkdir -p /run/uwsgi; chown www-data:root /run/uwsgi (code=exited, status=0/SUCCESS)
Main PID: 28505 (uwsgi_nolang)
Status: "The Emperor is governing 5 vassals"
Tasks: 19 (limit: 4915)
Memory: 586.2M
CPU: 1min 1.165s
CGroup: /system.slice/uwsgi-emperor.service
├─28504 /usr/local/bin/uwsgi_nolang --ini /etc/uwsgi/emperor.ini --emperor-pidfile /run/uwsgi/emperor.pid --plugins-dir /usr/lib/uwsgi/plugins
├─28505 /usr/local/bin/uwsgi_nolang --ini /etc/uwsgi/emperor.ini --emperor-pidfile /run/uwsgi/emperor.pid --plugins-dir /usr/lib/uwsgi/plugins
├─28506 /usr/local/bin/uwsgi_nolang --ini /etc/uwsgi/vassals/site1.ini --include /etc/uwsgi/vassals-common.ini
...
systemd[1]: Starting uWSGI Emperor service...
uwsgi_nolang[28501]: [uwsgi] implicit plugin requested nolang
uwsgi_nolang[28501]: open("./nolang_plugin.so"): No such file or directory [core/utils.c line 3724]
uwsgi_nolang[28501]: !!! UNABLE to load uWSGI plugin: ./nolang_plugin.so: cannot open shared object file: No such file or directory !!!
uwsgi_nolang[28501]: [uWSGI] getting INI configuration from /etc/uwsgi/emperor.ini