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常用内置函数总结
Feb 08 Python
python使用cStringIO实现临时内存文件访问的方法
Mar 26 Python
Python中在for循环中嵌套使用if和else语句的技巧
Jun 20 Python
使用Python将数组的元素导出到变量中(unpacking)
Oct 27 Python
Python 文件操作的详解及实例
Sep 18 Python
Python 经典面试题 21 道【不可错过】
Sep 21 Python
Python中Numpy mat的使用详解
May 24 Python
Python批量安装卸载1000个apk的方法
Apr 10 Python
使用pytorch 筛选出一定范围的值
Jun 28 Python
Python中免验证跳转到内容页的实例代码
Oct 23 Python
python通过cython加密代码
Dec 11 Python
pytorch DataLoader的num_workers参数与设置大小详解
May 28 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 星际争霸
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
php feof用来识别文件末尾字符的方法
2010/08/01 PHP
具有时效性的php加密解密函数代码
2013/06/19 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
php事件驱动化设计详解
2016/11/10 PHP
js调试工具Console命令详解
2014/10/21 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
关于vue面试题汇总
2018/03/20 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
用Python实现换行符转换的脚本的教程
2015/04/16 Python
利用Python爬虫给孩子起个好名字
2017/02/14 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
Django Xadmin多对多字段过滤实例
2020/04/07 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
python语言是免费还是收费的?
2020/06/15 Python
请解释在new与override的区别
2012/10/29 面试题
区域销售经理职责
2013/12/22 职场文书
初中美术教学反思
2014/01/29 职场文书
电视节目策划方案
2014/05/16 职场文书
企业金融服务方案
2014/06/03 职场文书
体育口号大全
2014/06/18 职场文书
技术经济专业求职信
2014/09/03 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
见义勇为事迹材料
2014/12/24 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
护理工作心得体会
2016/01/22 职场文书
JavaScript控制台的更多功能
2021/04/28 Javascript
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL