django的nginx配置

django

在引入第三方模块的时候保证服务的高可用,要设立一个备份接口,当主接口宕机时可以设置一个超市参数来使用备份的接口。

nginx

  • 反向代理器,网站服务器,负载均衡
  • 基本命令
    • sudo nginx启动
    • sudo nginx -s stop
    • sudo nginx -s quit
    • sudo nginx -s reopen
  • 关键配置模块
    • events配置域:网络连接相关配置(I/O模块)
    • server配置域:相关服务节点配置
    • location
    • http配置域
    • upstream配置域:反向代理配置域
  • 层次关系
    events {
      ....
    }
    http {
      ...
      upstream {
          ...
      }
      server {
          ...
          location {
              ...
          }
      }
    }

WSGI协议:web server 和 web application通信的规范

uwsgi : webserver 接受客户端的请求,传送给 web application

web application :django flask tornado

django uwsgi部署

  1. uWSGI可以进行多线程调度,进程监控
  2. 提供完善的请求日志处理
  3. runserver 性能差

为什么有了uwsgi还要使用nginx

  • nginx提供了更加安全的服务保障
  • 提供反向代理,负载均衡等功能
  • 对于静态文件处理能力强

nginx配置步骤

  1. uwsgi启动django应用服务
  2. 修改nginx配置文件完成反向代理配置

    /etc/nginx/sites-available/nginx.conf备份

    upstream uwsgi {
     server 127.0.0.1:8000;
    }
    
    server {
     listen:80;
     server_name: .xxxxx.com 无论一级域名还是二级域名
     charset:utf-8;
    
     access_log # 可以配置日志文件
    
     location / {
         proxy_pass http://uwsgi;   # 所有访问域名的连接转发到配置好的upstream
     }
    }

    删除源/nginx.conf 给新配置的conf设置软连接

  3. 收集静态文件,完成静态文件寻址配置
    设置好static_url
    python manage.py collect

    拷贝生成的目录

    server {
     listen:80;
     server_name: .xxxxx.com 无论一级域名还是二级域名
     charset:utf-8;
    
     access_log # 可以配置日志文件
    
     location / {
         proxy_pass http://uwsgi;   # 所有访问域名的连接转发到配置好的upstream
     }
    
     location /static {
         alias 拷贝好的目录
     }
    }

    nginx -s reload

https部署,可以在腾讯云申请个人域名免费https,配置好server中的certificate

负载均衡 反向代理upstream,配置权重,直接在每一个配置好的upstream中配置权重weight。关闭uwsgi端口的访问。

原文地址:https://www.cnblogs.com/jimmyhe/p/11260509.html

时间: 2024-11-10 09:07:24

django的nginx配置的相关文章

Django+uwsgi+nginx配置详解

操作系统是ubuntu 更新源 1 apt-get update 安装 Nginx 和 uWSGI 1 apt-get install nginx uwsgi uwsgi-plugin-python 安装 Python 相关环境 1 apt-get install python-dev python-virtualenv python-pip 这里如果安装不成功,可以分开安装,试过一次,分开安装才成功,原因目前以我的水平还发现不了,很遗憾. 安装 MySQL 1 apt-get install 

使用django 做nginx配置文件管理

一,目的. 1)nginx配置文件统一入库. 2)操作记录. 3)推送配置文件. 4)搜索. 5)回滚. 6)nginx生效. 7)相近两次对比. 二, 使用工具 django1.8.0 ansible python2.7 三,实现完成的网页图片 总览 搜索 推送 下一章发放代码

nginx+django+uwsgi部署配置

主要讲一下用uwsgi管理django应用配置,总结一下,便以后使用: 通过uwsgi ini文件管理django 应用 1.首先,在python项目下新建module,文件名为:uwsgi.py  #名称可以自己任意写 django1.8以上版本: #!/usr/bin/env python # coding: utf-8 import os os.environ['DJANGO_SETTINGS_MODULE'] = 'LogMgmt.settings' LogMgmt为项目名称 from

Django Nginx配置

1.安装uwsgi.flup.djangowget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz 2.项目创建和配置2.1.创建项目 cd /root/codes/ django-admin.py startproject myproject 2.2.创建/root/codes/uwsgi.xml <uwsgi> <socket>0.0.0.0:8001</socket> <pythonpath

centos6.5+Django+mysql+nginx+uwsgi

1.nginx的安装.这里采用nginx-1.6.0, 建立一个shell脚本然后执行. #!/bin/bash nginx_version="nginx-1.6.0" yum -y install gcc gcc-c++ pcre pcre-devel openssl openssl-devel cd soft tar zxvf $nginx_version".tar.gz" cd $nginx_version ./configure --error-log-pa

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

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

Django部署:Django+gunicorn+Nginx环境的搭建

本人的服务器环境为Ubuntu14.04,使用的是Python3.4版本,并且安装有pip(Ubuntu中Python3配合的是pip3),并且以管理员身份运行,如果是普通用户,请切换管理员权限(sudo). 一.gunicorn和nginx的简介 gunicorn需要搭配nginx使用,那么两者的作用到底是什么. 1.gunicorn简介:gunicorn是一个Python WSGI UNIX服务器.WSGI(Web Server Gateway Interface)是Web服务网关接口,位于

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

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 ta