在Ubuntu中我安装了uwsgi,然后使用以下命令安装了插件:
$ sudo apt-get install uwsgi
$ sudo apt-get install uwsgi-plugin-python3
$ sudo apt-get install uwsgi-plugin-python
当我杀死uwsgi的进程并使用bash脚本中的以下命令重新运行uwsgi时:
#!/bin/bash
echo '********* kill instance ******************'
sudo kill -HUP `cat /tmp/sup-epa.pid`
uwsgi --reload /tmp/sup-epa.pid
sudo touch /tmp/sup.epa.sock
uwsgi --emperor /etc/uwsgi/vassals/
输出结果为:
!!!!!!!!!!!!!! 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 !!!!!!!!!!
但实际上uwsgi配置文件有它:
[uwsgi]
plugins-dir=/usr/lib/uwsgi/plugins/
plugin = python3
根据手册的最佳方法是将参数放在一个ini文件中,然后用ini加载它。我应该使用插件路径运行uwsgi然后放入--plugin参数吗?
答案 0 :(得分:3)
你可以毫无问题地使用带有emperor模式的ini文件。
使用已安装的发行版软件包,您应指定plugin = python
。这里不需要插件dir。除非您想要指定要使用的python版本,否则不能使用plugin = pythonXX
。但是如果你想这样做,你需要aditional conf。请参阅quickstart for python章"奖励:针对相同uWSGI二进制文件的多个Python版本"。
或者您可以使用以下内容指定固定版本:sudo update-alternatives --set uwsgi /usr/bin/uwsgi_python27
。前提是您所需的版本已安装sudo update-alternatives --list uwsgi