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字典实现简单的三级菜单(实例讲解)
Jul 31 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
Apr 27 Python
python实现抖音视频批量下载
Jun 20 Python
详解如何管理多个Python版本和虚拟环境
May 10 Python
python版百度语音识别功能
Jul 09 Python
使用python实现离散时间傅里叶变换的方法
Sep 02 Python
python同时替换多个字符串方法示例
Sep 17 Python
使用Python刷淘宝喵币(低阶入门版)
Oct 30 Python
flask项目集成swagger的方法
Dec 09 Python
OpenCV-Python直方图均衡化实现图像去雾
Jun 07 Python
OpenCV-Python实现图像平滑处理操作
Jun 08 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 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 静态变量的初始化
2009/11/15 PHP
一个漂亮的php验证码类(分享)
2013/08/06 PHP
php中preg_replace_callback函数简单用法示例
2016/07/21 PHP
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
jquery选择符快速提取web表单数据示例
2014/03/27 Javascript
jquery修改网页背景颜色通过css方法实现
2014/06/06 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
js读取json的两种常用方法示例介绍
2014/10/19 Javascript
浅谈javascript构造函数与实例化对象
2015/06/22 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
2015/12/04 Javascript
浅析创建javascript对象的方法
2016/05/13 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
javascript汉字拼音互转的简单实例
2016/10/09 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
修改ligerui 默认确认按钮的方法
2016/12/27 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
Python的Flask框架应用程序实现使用QQ账号登录的方法
2016/06/07 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
综合实践教学反思
2014/01/31 职场文书
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
python用字节处理文件实例讲解
2021/04/13 Python
Python中request的基本使用解决乱码问题
2022/04/12 Python