性能方面,uWSGI既不用wsgi协议也不用fcgi协议,而是自创了一个uwsgi的协议,据说该协议大约是fcgi协议的10倍那么快(暂时无法论证)。想深入了解uwsgi的同学可以访问官方wiki?http://projects.unbit.it/uwsgi/wiki。uwsgi的另一个强大之处在于可以支持很多种编程语言,包括python(最初支持的就是python)、lua、perl、ruby、Erlang、PHP、GO、JVM。并且可以同时支持多种框架。本文是以python的django框架为例,同时uwsgi还支持python的web.py、flask、web2py等框架。以下开始部署安装:1、安装并配置nginx nginx安装暂时不介绍,可自行搜索下装法。新版nginx都已经默认支持uwsg。
这里的nginx安装目录是在/usr/local/nginx打开nginx.conf,并加入一个主机配置
点击(此处)折叠或打开
server?{
server_name?www.mysite.com;
location?/?{
set?$app?mysite;
include?uwsgi_params;
uwsgi_pass?127.0.0.1:3031;
}
}
2、安装并配置uwsgi
下载uwsgi
点击(此处)折叠或打开
wget?http://projects.unbit.it/downloads/uwsgi-latest.tar.gz
解压安装
点击(此处)折叠或打开
tar?zxvf?uwsgi-latest.tar.gz
cd?uwsgi-1.9
make
cd?..
编译不出现错误的话,当前目前下会出现一个二进制uwsgi文件。为了方便管理,把uwsgi-1.9目录拷贝到/usr/local/目录
点击(此处)折叠或打开
mv?uwsgi-1.9?/usr/local/uwsgi
uwsgi可执行文件直接加参数即可运行,但为了方便管理,需要配置两个文件.
cd?/usr/local/uwsgi
mkdir?-p?conf
cd?conf
cat?>server.ini?<<EOF
[uwsgi]
socket?=?127.0.0.1:3031???????????#建立的socket端口
chdir?=?/home/server/mysite/ #django项目所在目录
pythonpath?=?/usr/local/python2.7/??????#python目录
env?=?DJANGO_SETTING_MODULE=mysite.settings.py
processes?=?4
threads?=?2
wsgi-file?=?/usr/local/uwsgi/conf/serverlist.py #另一个配置文件的位置
EOF
cat?>?server.py<<EOF
#serverlist.py
import?sys
import?os
from?django.core.handlers.wsgi?import?WSGIHandler
mysite_dir?=?’/home/server/mysite/’
#sys.path.append(os.path.abspath(os.path.dirname(__file__)))
sys.path.append(mysite_dir)
os.environ[‘DJANGO_SETTINGS_MODULE’]?=?’settings’
application?=?WSGIHandler()
EOF
3、启动uwsgi并访问网站
执行 /usr/local/uwsgi/uwsgi?/usr/local/uwsgi/conf/server.ini打开www.mysite.com (视自己网址而定)即可看到网站页面。FROM:http://hi.baidu.com/xingcan02/item/db265bd146278814e1f46f3d