基于python的web项目,常见的部署方法有:
fcgi:用spawn-fcgi或者框架自带的工具对各个project分别生成监听进程,然后和http服务互动。
wsgi:利用http服务的mod_wsgi模块来跑各个project。<p>
不过还有个uwsgi,它既不用wsgi协议也不用fcgi协议,而是自创了一个uwsgi的协议,据作者说该协议大约是fcgi协议的10倍那么快。uWSGI的主要特点如下:
超快的性能。
低内存占用(实测为apache2的mod_wsgi的一半左右)。
多app管理。
详尽的日志功能(可以用来分析app性能和瓶颈)。
高度可定制(内存大小限制,服务一定次数后重启等)。
安装uwsgi
wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar zxvf uwsgi-latest.tar.gz
cd <dir>
make
出现错误:
plugins/python/python_plugin.c:1884: error: statement with no effect
plugins/python/python_plugin.c:1888: error: ‘struct uwsgi_python’ has no member named ‘gil_release’
plugins/python/python_plugin.c:1888: error: called object ‘<erroneous-expression>’ is not a function
plugins/python/python_plugin.c:1888: error: statement with no effect
make: *** [all] Error 1
解决方法:
yum install python-devel
网友评论