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警察与小偷的实现之一客户端与服务端通信实例
Oct 09 Python
为Python程序添加图形化界面的教程
Apr 29 Python
Python获取当前路径实现代码
May 08 Python
Python 解决中文写入Excel时抛异常的问题
May 03 Python
详解python单元测试框架unittest
Jul 02 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
python Kmeans算法原理深入解析
Aug 23 Python
python 初始化一个定长的数组实例
Dec 02 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
什么是Python中的顺序表
Jun 02 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
Jun 04 Python
Python实现王者荣耀自动刷金币的完整步骤
Jan 22 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
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
2014/12/24 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
js同时按下两个方向键
2007/12/01 Javascript
日期 时间js控件
2009/05/07 Javascript
js对象之JS入门之Array对象操作小结
2011/01/09 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
javaScript NameSpace 简单说明介绍
2013/07/18 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
2015/05/12 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
2016/06/16 Javascript
Node.js数据库操作之查询MySQL数据库(二)
2017/03/04 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
2019/06/05 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
Vue实现兄弟组件间的联动效果
2020/01/21 Javascript
Python算法之栈(stack)的实现
2014/08/18 Python
Python多线程经典问题之乘客做公交车算法实例
2017/03/22 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
Python的垃圾回收机制详解
2019/08/28 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
flask框架中的cookie和session使用
2021/01/31 Python
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
师范生自荐信范文
2013/10/06 职场文书
学校安全生产月活动总结
2014/07/05 职场文书
2014年班组长工作总结
2014/11/20 职场文书
护士医德医风心得体会
2016/01/25 职场文书
Python中for后接else的语法使用
2021/05/18 Python