ubuntu 配置 nginx + uwsgi + django 记录

部分原文:http://www.cnblogs.com/jhao/p/6071790.html

1、nginx安装

 sudo apt-get install nginx

  ubantu安装完Nginx后,文件结构大致为:
  所有的配置文件都在 /etc/nginx下;
  启动程序文件在 /usr/sbin/nginx下;
  日志文件在 /var/log/nginx/下,分别是access.log和error.log;
  并且在 /etc/init.d下创建了启动脚本nginx。

  nginx命令:

service nginx star/stop/restart/status

2、uwsgi安装

  进入到Python虚拟环境中 

pip install uwsgi

  web → django大致通信原理:

the web client <-> the web server(nginx) <-> the socket <-> uwsgi <-> Django

  nginx作为服务器最前端,负责接收client的所有请求,统一管理。静态请求由Nginx自己处理。非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求。

3、配置 uwsgi

  

# Django-related settings
[uwsgi]

#socket = 0.0.0.0:8001
http = 0.0.0.0:8001
pidfile = /tmp/uwsgi.pid

# the base directory (full path)
chdir           = /home/mugz/sites/soowhat.cn/django_mxonline

# Django s wsgi file
module          = mxonline.wsgi

# process-related settings
# master
master          = true

# maximum number of worker processes
processes       = 4

# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum          = true
daemonize       = /var/log/uwsgi.log

  进入到项目所在目录,启动uwsgi

cd /home/mugz/sites/soowhat.cn/django_mxonline
sudo uwsgi --ini uwsgi.ini 

4、配置nginx

  nginx默认会读取  /etc/nginx/sites-enabled/default 文件中的配置,修改其配置如下:

server {
    # the port your site will be served on
    listen      80;
    # the domain name it will serve for
    server_name 127.0.0.1; # substitute your machine‘s IP address or FQDN
    charset     utf-8;

    # max upload size
    client_max_body_size 75M;   # adjust to taste

    # Django media
    location /media  {
        alias /home/mugz/sites/soowhat.cn/django_mxonline/media;  # your Django project‘s media files - amend as required
    }

    location /static {
        alias /home/mugz/sites/soowhat.cn/django_mxonline/static; # your Django project‘s static files - amend as required
    }

    # Finally, send all non-media requests to the Django server.
    location / {
        include     uwsgi_params; # the uwsgi_params file you installed
        uwsgi_pass 127.0.0.1:8001;
    }
}

  在 /etc/nginx/sites-available/ 放置了配置文件,接下来需要创建一个符号链接,把这个配置文件加入到启用的网站列表中去,被启用网站的目录在 /etc/nginx/sites-enabled/,你可以理解为从 sites-available/ 目录下发送了一个配置文件的快捷方式到 sites-enabled/ 目录。具体命令如下:

  

(mxonline) [email protected]:/etc/nginx/sites-available$ sudo ln -s /etc/nginx/sites-available/soowhat.cn /etc/nginx/sites-enabled/soowhat.cn
(mxonline) [email protected]:/etc/nginx/sites-enabled$ ls -l
total 4
lrwxrwxrwx 1 root root 34 Jul 1 12:02 default -> /etc/nginx/sites-available/default

5、搜集django静态文件

  把Django自带的静态文件收集到同一个static中,不然访问Django的admin页面会找不到静态文件。在django的setting文件中,添加下面一行内容:

STATIC_ROOT = os.path.join(BASE_DIR, "static/")

  然后在项目路径下执行

python manage.py collectstatic

  修改settings文件;

DEBUG = False
ALLOWED_HOSTS = [‘*‘]  #根据情况设定

6、最后重启 nginx 和 uwsgi,完成!

  

时间: 2024-07-28 14:40:28

ubuntu 配置 nginx + uwsgi + django 记录的相关文章

VPS上配置NGINX+UWSGI+DJANGO+MYSQL

1.安装Django 参见:http://djangobook.py3k.cn/2.0/chapter02/ 2.安装pip $ sudo apt-get install python-pip python-dev build-essential $ sudo pip install --upgrade pip $ sudo pip install --upgrade virtualenv $ sudo apt-get install libmysqld-dev 3.安装MySQL $ apt-

Ubuntu Server 14.04.2 LTS 配置 Nginx + uwsgi + Django

0.目的是在将小巧玲珑的Nginx和Django 通过uwsgi整合 1.预备环境 Python 2.7.8 @ ubuntu server 14.04.2版本 2.安装Django(这里使用的是pip,当然easy_install也是可以的) sudo pip install django==1.8 3.安装 Nginx sudo apt-get install nginx 4.安装 uwsgi sudo apt-get install uwsgi 5.创建个Django项目+app >>p

ubuntu下配置nginx+uwsgi+django

服务器配置是Ubuntu14.04 64位OS ubuntu14.04默认是安装好了python2.7版本不用自己安装了. 先更新下源 sudo apt-get update 第一步先安装pip sudo apt-get install -y python-pip 有些时候安装pip前需要安装几个相关包 sudo apt-get install -y python-dev sudo apt-get install -y libevent-dev 安装完pip后我们开始安装django sudo

Ubuntu Nginx uwsgi django 初试

/************************************************************************************** * Ubuntu Nginx uwsgi django 初试 * 说明: * 最近打算通过Python搭建一个数据收集的网站,先做一个搭建测试. * * 2016-8-5 深圳 南山平山村 曾剑锋 ***************************************************************

转载nginx+uwsgi+django

Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.nginx把所有静态请求自己来处理(这是NGINX的强项).然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求. 可见,uwsgi的作用就类似一个桥接器.起到桥梁的作用. Linux的强项是用来做服务器,所以,下面的整个部署过程我们选择在U

Ubuntu下nginx+uwsgi+flask的运行环境搭建

选择web framwork是个很艰难的事情, 主要分为轻量级和重量级框架. 由于没有搭建网站这种需要, 所以回避SSH, Django这种框架, 而选择一个轻量级框架. 自己也比较青睐python这门语言, 就选择了flask框架, nginx代理服务器享誉盛名, 所以拿来使用咯. 一. 开发环境搭建 采用离线安装方式, ubuntu开发环境(centos等环境类似) nginx 安装 $ wget http://nginx.org/download/nginx-1.6.0.tar.gz #仅

nginx+Uwsgi+Django总结与分析

配置与调试nginx与uwsgi 参考: 1.uWSGI其三:uWSGI搭配Nginx使用 2.学习VirtualEnv和Nginx+uwsgi用于django项目部署 3.部署备忘 4.nginx+uwsgi 5.编程小结 6.nginx + uwsgi + django + python 部署 最近三天一直在调试Django+nginx+uwsgi+sqlite3部署的阿里云的服务器,系统是ubuntu的所以下载什么的都很方便sudo spt-get就可以了 所以想着把这几天遇到的问题跟过程

使用Nginx+uWSGI+Django方法部署Django程序(下)

在上一篇文章<五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上)>中,阐述了如何只使用uWSGI来部署Django程序. 当然,单单只有uWSGI是不够的,在实际的部署环境中,Nginx是必不可少的工具. 在本篇文章中,我将一直延用“N步法”的风格来阐述如何将uWSGI与Nginx做连接来部署Django程序.并在最后,会较为完整的阐述本社区的部署方法. 本文大纲: 环境介绍 配置uWSGI 配置Nginx Nginx+uWSGI+Django的实现方式 一些建

【转】五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(下)

五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(下) By Django中国社区 at 2013-05-18 04:38 在上一篇文章<五步教你实现使用Nginx+uWSGI+Django方法部署Django程序(上)>中,阐述了如何只使用uWSGI来部署Django程序. 当然,单单只有uWSGI是不够的,在实际的部署环境中,Nginx是必不可少的工具. 在本篇文章中,我将一直延用“N步法”的风格来阐述如何将uWSGI与Nginx做连接来部署Django程序.并