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标准库os.path包、glob包使用实例
Nov 25 Python
python转换字符串为摩尔斯电码的方法
Jul 06 Python
Python分治法定义与应用实例详解
Jul 28 Python
Python Unittest自动化单元测试框架详解
Apr 04 Python
如何利用python制作时间戳转换工具详解
Sep 12 Python
在Python中表示一个对象的方法
Jun 25 Python
python实现基于朴素贝叶斯的垃圾分类算法
Jul 09 Python
Python如何使用Gitlab API实现批量的合并分支
Nov 27 Python
解决Tensorflow 内存泄露问题
Feb 05 Python
解决ROC曲线画出来只有一个点的问题
Feb 28 Python
使用python从三个角度解决josephus问题的方法
Mar 27 Python
python 8种必备的gui库
Aug 27 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为SHOPEX增加日志功能代码
2010/07/02 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
php上传图片获取路径及给表单字段赋值的方法
2016/01/23 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
PHP中ltrim()函数的用法与实例讲解
2019/03/28 PHP
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
Nodejs学习笔记之Stream模块
2015/01/13 NodeJs
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
2015/08/18 Javascript
纯css实现窗户玻璃雨滴逼真效果
2015/08/23 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
[05:26]2014DOTA2西雅图国际邀请赛 iG战队巡礼
2014/07/07 DOTA
Python获取网页上图片下载地址的方法
2015/03/11 Python
Python使用xlrd模块操作Excel数据导入的方法
2015/05/26 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python多进程间通信代码实例
2019/09/30 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
python encrypt 实现AES加密的实例详解
2020/02/20 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
CSS3 文字动画效果
2020/11/12 HTML / CSS
高级技校毕业生自荐信
2013/11/18 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
Redis三种集群模式详解
2021/10/05 Redis