linux下nginx uwsgi方式部署django

首先安装uwsgi

$ export LDFLAGS="-Xlinker --no-as-needed"
$ pip install uwsgi

在django app里面里面,建立
django_wsgi.py
django_wsgi.py和manage.py一个目录

#!/usr/bin/env python
# coding: utf-8

import os
import sys

# 将系统的编码设置为UTF8
reload(sys)
sys.setdefaultencoding('utf8')

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()

建立uwsgi配置文件,uwsgi.xml放在和django_wsgi一个目录

<uwsgi>
    <socket>:8077</socket>
    <chdir>/home/work/src/sites/testdjango1/testdjango/mysite</chdir>
    <module>django_wsgi</module>
    <processes>4</processes> <!-- 进程数 --> 
    <daemonize>uwsgi.log</daemonize>
</uwsgi>

nginx配置文件,在/etc/nginx/conf.d/目录增加,app.conf

server {

    listen   80;
    server_name www.you.com;
    access_log /home/work/var/test/logs/access.log;
    error_log /home/work/var/test/logs/error.log;

    location / {
     includeuwsgi_params;
     uwsgi_pass 127.0.0.1:8077;
    }

    #error_page  404  /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        root   html;
    }

    location /static/ {
        alias  /home/work/src/sites/testdjango1/testdjango/collectedstatic/;
        index  index.html index.htm;
    }

    location /media/ {
        alias  /home/work/src/sites/testdjango1/testdjango/public/media/;
    }
}

启动uwsgi,
到app目录,

uwsgi -x uwsgi.xml

重新载入nginx配置

sudo nginx -s reload

访问应该就可以了,如有问题检查日志。
本文参考,
http://django-china.cn/topic/124/

你可能感兴趣的:(nginx,linux,django,uwsgi)