Django nginx配置实现过程详解


Posted in Python onSeptember 10, 2020

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部署

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

为什么有了uwsgi还要使用nginx

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

nginx配置步骤

uwsgi启动django应用服务

修改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设置软连接

收集静态文件,完成静态文件寻址配置

设置好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端口的访问。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现apahce网站日志分析示例
Apr 02 Python
python里将list中元素依次向前移动一位
Sep 12 Python
Python Queue模块详解
Nov 30 Python
Python兔子毒药问题实例分析
Mar 05 Python
Python字符串匹配算法KMP实例
Jul 18 Python
Python运算符重载详解及实例代码
Mar 07 Python
详解Python使用tensorflow入门指南
Feb 09 Python
解决phantomjs截图失败,phantom.exit位置的问题
May 17 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
python实现二分类和多分类的ROC曲线教程
Jun 15 Python
python 制作简单的音乐播放器
Nov 25 Python
使用Python操作MySQL的小技巧
Sep 10 #Python
python编写实现抽奖器
Sep 10 #Python
Python字符串及文本模式方法详解
Sep 10 #Python
python raise的基本使用
Sep 10 #Python
Python常用数字处理基本操作汇总
Sep 10 #Python
Python通用唯一标识符uuid模块使用案例
Sep 10 #Python
Python编写单元测试代码实例
Sep 10 #Python
You might like
PHP的面试题集
2006/11/19 PHP
php 友好URL的实现(吐血推荐)
2008/10/04 PHP
php获取网页内容方法总结
2008/12/04 PHP
PHP写MySQL数据 实现代码
2009/06/15 PHP
PHP容易忘记的知识点分享
2013/04/30 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
JS完成画圆圈的小球
2017/03/07 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
2017/09/21 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
Vue 实现登录界面验证码功能
2020/01/03 Javascript
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
用python实现的线程池实例代码
2018/01/06 Python
python中partial()基础用法说明
2018/12/30 Python
python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法
2019/07/11 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
Python爬虫实例——爬取美团美食数据
2020/07/15 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
奥地利顶级内衣丝袜品牌英国站:Wolford英国
2016/08/29 全球购物
出国签证在职证明
2014/01/16 职场文书
体育节口号
2014/06/19 职场文书
2016年安康杯竞赛活动总结
2016/04/05 职场文书
血轮眼轮回眼特效 html+css
2021/03/31 HTML / CSS
python中mongodb包操作数据库
2022/04/19 Python
win10滚动条自动往上跑怎么办?win10滚动条自动往上跑的解决方法
2022/08/05 数码科技