Django+uwsgi+nginx部署

首先要装一些东西
之前先搞一下ppa 个人是用的Ubuntu 12.04.4

有些软件还ppa之后再装比较好,具体ppa是个啥东西 不知道的问谷歌

add-apt-repository ppa:nginx/stable
apt-get update`

安装一些依赖的包

apt-get install mysql-server libxml2 libxml2-dev python-dev libpcre3 libpcre3-dev python-MySQLdb

直接pip装uwsgi 我装的是lts版本的

pip install http://projects.unbit.it/downloads/uwsgi-lts.tar.gz

apt-get也是可以的(不然ppa就没意义了)

然后安装nginx
apt-get install nginx
安装django
我这是1.5.4版本的django
然后就是配置了
先搞一搞django的项目,我的项目地址是在/var/www/
django-admin.py startproject blog
然后1.5.4会生成一个blog的app,下面有一个uwsgi.py的文件,不要动就行了
然后在这个下面新建一个xml文件,什么名字都可以,我这是uwsg.xml(ini也可以,而且貌似比较方便)
xml文件里面的配置如下:

nginx配置文件:

server {
listen   80;
access_log  /var/log/nginx/dashboard.access.log;

location /static/ {
root /var/www/idashboard/;
autoindex off;
}

location /{
root /var/www/idashboard/;
uwsgi_pass 127.0.0.1:9090;
include uwsgi_params;
}

}

uwsgi配置文件:

 
        127.0.0.1:9090
        true
        3
        knownsec
        knownsec
        /var/www/idashboard/
        idashboard.wsgi:application
        DJANGO_SETTINGS_MODULE=idashboard.settings
        
 

uwsgi自启动脚本:

/etc/init

# ssh - OpenBSD Secure Shell server
#
# The OpenSSH server provides secure shell access to the system.

description " myblog server"

start on runlevel [2345]
stop on runlevel [!2345]

respawn
respawn limit 10 5
umask 022


console none

# if you used to set SSHD_OPTS in /etc/default/ssh, you can change the
# 'exec' line here instead
exec /usr/local/bin/uwsgi --xml /var/www/idashboard/idashboard/wsgi.xml

调用upstart脚本
sudo initctl start update
之后如果不可以的话记得 uwsgi -s reload一下,相当于重启uwsgi
然后就是重启uwsgi和nginx
源码编译的就/etc/init.d/xxx restart
我这边是apt或者pip装的服务 直接service nginx/uwsgi restart就可以了 比较方便 : )

其实整个流程就是 浏览器访问nginx的80端口 然后nginx会在配置中下发任务(描述可能不当),之后找到9090端口的uwsgi
就是两个配置文件中统一的端口号,之后uwsgi就会启动django 之后就巴拉巴拉巴拉 就可以了- -

你可能感兴趣的:(Django+uwsgi+nginx部署)