Django+uWsgi+nginx部署

一、环境

操作系统:Ubuntu 14.04 64位

python:2.7.6

Django:1.8.2

项目源码:https://github.com/youchuancong/django.git

部署方式:Django+uWsgi+nginx

二、部署

1、Django安装

官网:https://www.djangoproject.com/

安装

wget https://www.djangoproject.com/m/releases/1.8/Django-1.8.2.tar.gz
tar -zxvf Django-1.8.2.tar.gz
cd Django-1.8.2
python setup.py install

验证:

 python -c "import django; print(django.get_version())"

屏幕显示1.8.2,则安装成功

注:需要预先安装setuptools

2、uWsg安装

官网:https://uwsgi.readthedocs.org/

安装:

pip install uwsgi

验证:

在浏览器中访问:http://127.0.0.1:9090/ ,可查看到hello world字符串

3、Beautiful Soup 4.2.0安装

官网:http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html

说明:Beautiful Soup为python的html解析库

安装:

apt-get install Python-bs4

验证:

在浏览器中访问 http://127.0.0.1:9090,即可看到“hello world”

4、nginx安装

官网:http://nginx.org/

安装:

apt-get update
apt-get install nginx

5、配置

1、下载项目源码

       地址

              假设项目源码存放路径为/ycc/weixin

2、配置setting.py

      

STATIC_URL = 'http://192.168.17.125/statics/'
BOOTSTRAP_BASE_URL='//192.168.17.125/statics/bootstrap_toolkit/'

注意:ip和端口请注意修改成实际的ip和端口

STATIC_URL为静态资源路径(静态资源通过nginx访问)

3、收集静态资源

cd /ycc/weixin
python manage.py collectstatic
cp statics_dev/* ../statics_dev/statics/

说明:执行collectstatic命令收集的静态资源存放位置由setting.py中的STATIC_ROOT定义,也可直接将该值定义为/ycc/statics_dev/statics/,无需手动复制

4、配置uwsgi

在/ycc目录创建wsgi_conf.ini文件

[uwsgi]
socket = 0.0.0.0:3031
chdir = /ycc/weixin/
wsgi-file = weixin/wsgi.py
processes = 4
threads = 2

5、配置nginx

nginx配置文件路径:/etc/nginx/nginx.conf

#user       nobody;  ## Default: nobody
worker_processes  5;  ## Default: 1
error_log  error.log;
pid        nginx.pid;
worker_rlimit_nofile 8192;

events {
  worker_connections  4096;  ## Default: 1024
}

http {
  include    mime.types;#必不可少,否则css文件响应头中的content-type存在问题,导致浏览器无法解析
  #include    /etc/nginx/proxy.conf;
  #include    /etc/nginx/fastcgi.conf;
  index    index.html index.htm index.php;
  gzip on;#开启gzip压缩
  gzip_min_length  5k;
  gzip_buffers     4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 3;
  gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
  gzip_vary on;
  default_type application/octet-stream;
  log_format   main '$remote_addr - $remote_user [$time_local]  $status '
    '"$request" $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';
  access_log   access.log  main;
  sendfile     on;
  tcp_nopush   on;
  server_names_hash_bucket_size 128; # this seems to be required for some vhosts

  server { #
    listen       80;#nginx监听端口
    server_name  domain1.com www.domain1.com;
	charset      utf-8;
    access_log   domain1.access.log  main;
    root         /ycc/statics_dev;#静态资源存储路径
    index        index.html;
    location / {#跳转到uwsgi
        uwsgi_pass 127.0.0.1:3031;#uwsgi的端口为3031,且为socket方式
        include uwsgi_params;
    }
    location ^~ /statics/ {#路径以statics开头的直接访问nginx的静态资源

    } 

  }
}

    

6、运行验证

cd /ycc
uwsgi wsgi_conf.ini
nginx

浏览器访问http://ip/,,出现登录界面

时间: 2024-10-19 19:19:24

Django+uWsgi+nginx部署的相关文章

Django+uWSGI+Nginx 部署网站

Django 1.11设置 保证Django在本地调试没有问题: 当然这是前提^_^ 收集静态文件至指定文件夹 Django静态文件设置具体参考:https://docs.djangoproject.com/en/1.11/ref/contrib/staticfiles/ 在myproject/settings.py中设置静态文件STATIC_URL和STATIC_ROOT设置: 如: STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE

django+uwsgi+nginx部署(非常详细)

django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: 1 Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-130-generic x86_64) 3.下载uwsgi以及nginx 1 apt-get install uwsgi 2 apt-get install nginx (注:如果下载异常出现权限问题,在命令前添加sudo) 4.创建Django项目 例如:项目名为mysite

django+uwsgi+nginx部署在ubuntu系统上

1. 安装之前的准备工作 修改项目下settings.py文件,将调试状态改为False DEBUG = False ALLOWED_HOSTS = ['*'] 能否正常启动项目:python manage.py runserver 2. 安装nginx1.8.1 从http://nginx.org/en/download.html下载 安装gcc g++的依赖库 sudo apt-get install build-essential sudo apt-get install libtool

Django + Uwsgi + Nginx 的生产环境部署

使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了.比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下django项目生产环境的部署 准备条件: 1.确保有一个能够用runserver正常启动的django项目 2.项目已上传到linux 3.linux上已部署好python环境,且已安装好项目所需的模块 安装uwsgi uwsgi是python的一个模块,安装u

Django + Uwsgi + Nginx 实现生产环境部署

一.如何在生产上部署Django? Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 二.uwsgi介绍 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI / uwsgi / uWSGI 这三个概念的区分. WSGI是一种Web服务器网关接口.它是一个Web服务器(如nginx,uWSGI等服务器)与web应用(如用Flask

[linux]centos7.4部署django+Uwsgi+Nginx

前言:我已经写了几个接口用来部署在服务器上的,首先选择django+Uwsgi+Nginx因为配置简单,比较符合python的简单操作功能强大的特点 然后对于django的一些版本在之前的文章写了 参考:https://www.cnblogs.com/Jack-cx/p/9351633.html  根据版本,服务器pip3 install xxx 安装下 我的django项目大概结构: TestWebApi ----TestWebApi ----Apiso(创建的应用) ----manage.p

用Docker部署Django+uWSGI+Nginx

用Docker部署Django+uWSGI+Nginx 大致步骤如下: 创建Centos容器 安装Python及pip 安装MySQL 使Django连接到MySQL 运行uWSGI服务器 运行Nginx服务器 ? ? 创建Centos容器 安装docker软件 yum install docker 创建一个centos容器 docker run -d --name deploy1 --network host centos tail -f /dev/null -d:让它在后台运行. –name

vue+uwsgi+nginx部署前后端分离项目

一:vue+uwsgi+nginx部署 1.1:准备代码: # 路飞学城django代码 https://files.cnblogs.com/files/pyyu/luffy_boy.zip # vue代码 https://files.cnblogs.com/files/pyyu/07-luffy_project_01.zip 1.2:部署准备 1. 部署环境准备 ⑴ . 准备python3和虚拟环境解释器,python3,virtualenvwrapper. pip3 install -i h

python django+uwsgi+nginx 搭建步骤(血一般的教训)

安装Django 没有pip的童鞋可以看http://blog.csdn.net/imphp/article/details/38228619安装python包管理工具pip 先在 https://pypi.python.org/ 上 搜索Django,排在第一的那个就是我们要安装的主要框架Django啦- 点进去可以查找一些相关文档,虽然全部是鸟语花香,不过有翻译.百度.炕忙,就算是菜鸟也成英国鸟了. Django 的官网文档 https://docs.djangoproject.com/en