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 相关文章推荐
仅利用30行Python代码来展示X算法
Apr 01 Python
在ironpython中利用装饰器执行SQL操作的例子
May 02 Python
python微信公众号开发简单流程
Mar 23 Python
Python面向对象程序设计示例小结
Jan 30 Python
python统计中文字符数量的两种方法
Jan 31 Python
python读取并写入mat文件的方法
Jul 12 Python
django删除表重建的实现方法
Aug 28 Python
python利用opencv实现SIFT特征提取与匹配
Mar 05 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 Python
Tensorflow使用Anaconda、pycharm安装记录
Jul 29 Python
Pytorch 如何实现常用正则化
May 27 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
Apr 14 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
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
node.js实现上传文件功能
2019/07/15 Javascript
vue.js循环radio的实例
2019/11/07 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
python重试装饰器的简单实现方法
2019/01/31 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
Nip + Fab官网:英国美容品牌
2019/08/26 全球购物
运动会通讯稿500字
2014/02/20 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
大二学年个人总结
2015/03/03 职场文书
Go语言基础函数基本用法及示例详解
2021/11/17 Golang
nginx日志格式分析和修改
2022/04/28 Servers
Spring JPA 增加字段执行异常问题及解决
2022/06/10 Java/Android