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 相关文章推荐
Python3基础之基本数据类型概述
Aug 13 Python
Python中unittest模块做UT(单元测试)使用实例
Jun 12 Python
通过5个知识点轻松搞定Python的作用域
Sep 09 Python
Python 字符串大小写转换的简单实例
Jan 21 Python
python检查URL是否正常访问的小技巧
Feb 25 Python
pandas获取groupby分组里最大值所在的行方法
Apr 20 Python
对pandas的行列名更改与数据选择详解
Nov 12 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
详解Python安装tesserocr遇到的各种问题及解决办法
Mar 07 Python
pytorch: Parameter 的数据结构实例
Dec 31 Python
python批量处理txt文件的实例代码
Jan 13 Python
Python 测试框架unittest和pytest的优劣
Sep 26 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动态分页函数,PHP开发分页必备啦
2011/11/07 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
javascript GUID生成器实现代码
2009/10/31 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
vue组件中点击按钮后修改输入框的状态实例代码
2017/04/14 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
2019/09/06 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
OpenLayers3实现地图显示功能
2020/09/25 Javascript
原生js实现简单轮播图
2020/10/26 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
python 动态获取当前运行的类名和函数名的方法
2014/04/15 Python
python通过加号运算符操作列表的方法
2015/07/28 Python
python万年历实现代码 含运行结果
2017/05/20 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
《识字五》教学反思
2014/03/01 职场文书
植树节活动总结
2014/04/30 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
夫妻房产协议书的格式
2014/10/11 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
nginx优化的六点方法
2021/03/31 Servers
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
javascript canvas实现雨滴效果
2021/06/09 Javascript
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL