码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx+uWSGI 部署 Django 应用 (一)

时间:2014-09-19 19:05:35      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   os   ar   strong   

 

1. 安装Nginx  

sudo apt-get install nginx

Ubuntu安装之后的文件结构大致为:

  • 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下
  • 程序文件在/usr/sbin/nginx
  • 日志放在了/var/log/nginx中
  • 并已经在/etc/init.d/下创建了启动脚本nginx
  • 默认的虚拟主机的目录设置在了/var/www/nginx-default (有的版本,默认的虚拟主机的目录设置在了/var/www, 请参考/etc/nginx/sites-available里的配置)
启动nginx
sudo /etc/init.d/nginx start

 然后就可以访问了,http://localhost/ , 一切正常!如果不能访问,先不要继续,看看是什么原因,解决之后再继续。 启动时候若显示端口80被占用: Starting nginx: [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) 修改文件:/etc/nginx/sites-available/default,去掉 listen 前面的 # 号 , # 号在该文件里是注释的意思 , 并且把 listen 后面的 80 端口号改为自己的端口,访问是需要添加端口号。

(安装完后如出现403错误,那可能是nginx配置文件里的网站路径不正确)

bubuko.com,布布扣

2. 安装uWsgi

sudo apt-get install mysql-server libxml2 libxml2-dev python-dev libpcre3 libpcre3-dev python-MySQLdb #
sudo apt-get install uwsgi

 或直接用软件包安装:

  1. wget http://projects.unbit.it/downloads/uwsgi-2.0.7.tar.gz
  2. tar zxvf uwsgi-1.2.tar.gz
  3. cd uwsgi-1.2
  4. make
  5. cp uwsgi /usr/bin

3. 配置Nginx

在Nginx中新建一个站点配置文件:

sudo vi /etc/nginx/sites-enabled/www.***.com

 内容如下:

server {
    listen 80; ## listen for ipv4; this line is default and implied
    #listen [::]:80 default ipv6only=on; ## listen for ipv6

    server_name www.***.com;

    access_log /var/log/nginx/blog.hysia.com-access.log ;
    error_log /var/log/nginx/blog.hysia.com-error.log ;

    location / {
            uwsgi_pass 127.0.0.1:8001;
            include uwsgi_params;
    }

}

 4. 配置Django app

首先在你的app目录创建个wsgi.py 文件,内容如下:

import os,sys

if not os.path.dirname(__file__) in sys.path[:1]:
    sys.path.insert(0, os.path.dirname(__file__))
os.environ[‘DJANGO_SETTINGS_MODULE‘] = ‘settings‘

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

 然后在app目录创建个django.xml文件,作为uWSGI运行的配置文件,内容如下:

<uwsgi>
    <socket>127.0.0.1:8001</socket>
    <chdir>your_app_path</chdir>
    <pythonpath>..</pythonpath>
    <module>wsgi</module>
</uwsgi>

最后一步,运行 uWSGI 就行了,如下:

uwsgi -x your_app_path/django.xml

当然django.xml的配置远不止这些,比如log文件,内存限制等等,具体的大家可以参看 http://projects.unbit.it/uwsgi/wiki/Example.

后记:一些js、bootstrap没有正常加载,见下回。

Nginx+uWSGI 部署 Django 应用 (一)

标签:des   style   blog   http   color   io   os   ar   strong   

原文地址:http://www.cnblogs.com/Amagasaki/p/3981895.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!