让uWSGI选择使用不同版本的Python

python
0 1082

让uWSGI选择使用不同版本的Python

uWSGI 可以使用 plugins 参数支持使用不同的 Python 版本,默认情况下其搜索路径是当前目录。这也许并不方便。指定一个固定的搜索路径可能是个好选择。

下面我们将其路径指向 /usr/lib/uwsgi:

首先下载 uWSGI 的源码包并解压:

1
2
wget http://projects.unbit.it/downloads/uwsgi-1.4.10.tar.gz
tar zxvf uwsgi-1.4.10.tar.gz

进入到解压出来的文件夹,修改 buildconf/core.ini 文件,修改如下行:

1
2
plugin_dir = /usr/lib/uwsgi
bin_name = /usr/bin/uwsgi

编译 uWSGI:

1
python uwsgiconfig.py --build core

编译各 python 版本的 plugins(例如我这里有 2.6 和 2.7 两个版本):

1
2
python2.6 uwsgiconfig.pu --plugin plugins/python core python26
python2.7 uwsgiconfig.py --plugin plugins/python core python27

接下来我们就可以选择需要的 plugins 了,其命令参数如下:

1
--plugin   

参考文档:

<a href="http://projects.unbit.it/uwsgi/wiki/MultiPython" target="_blank">Using multiple version of python with the same uWSGI (>= 0.9.7-dev) server binary