使用nginx + uwsgi 以支持python 的django 架构

性能方面,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

使用nginx + uwsgi 以支持python 的django 架构

相关文章:

你感兴趣的文章:

标签云: