Django + uWSGI + Nginx 的生产环境部署,及WSGI & uwsgi & uWSGI 的作用

本文详细介绍了如何在CentOS 7环境下部署Django项目,结合uWSGI和Nginx实现生产环境配置。讨论了Nginx的反向代理、负载均衡功能,以及uWSGI作为轻量级服务器的特点。通过Nginx处理静态文件请求,uWSGI处理动态请求,Django负责业务逻辑,形成高效稳定的运行架构。
摘要由CSDN通过智能技术生成

uWSGI的 介绍 参考地址

Nginx
  1. Nginx是一个Web服务器,其中的HTTP服务器功能和uWSGI功能很类似
  2. 但是Nginx还可以用作更多用途,比如最常用的反向代理、负载均衡、拦截攻击等,而且性能极高
Django
  1. Django是一个Web框架,框架的作用在于处理request和 reponse,其他的不是框架所关心的内容。
  2. 所以如何部署Django不是Django所需要关心的。

在这里插入图片描述

这里举个小例子:
我们的浏览器是 出生在海外的华侨,通过HTTP(飞机) 从 Nginx(日本) 回到  (Python 中国)
下飞机 到了之后发现语言不通,急忙的找到了我。
他说日语(uwsgi)“こんにちは“
我会日语啊 我把这句话 转换成了 汉语(uWSGI)给 别人听
这样就可以 在 中国(Python) 让日本人(浏览器) 生活了。
但是 博主是东北人 光会转义 日语->普通话 还不行 还要和我的家人们说东北话(WSGI)
此时 就已经非常完美的解决了语言不通的问题了。
12345678
  • 请求处理整体流程
  1. nginx接收到浏览器发送过来的http请求,将包进行解析,分析url
  2. 静态文件请求:就直接访问用户给nginx配置的静态文件目录,直接返回用户请求的静态文件
  3. 动态接口请求:那么nginx就将请求转发给uWSGI,最后到达django处理
  • 各模块作用
  1. nginx:是对外的服务器,外部浏览器通过url访问nginx,nginx主要处理静态请求

  2. uWSGI:是对内的服务器,主要用来处理动态请求

  3. uwsgi:是一种web协议,接收到请求之后将包进行处理,处理成wsgi可以接受的格式,并发给wsgi

  4. wsgi:是python专用的web协议,根据请求调用应用程序(django)的某个文件,某个文件的某个函数

  5. django:是真正干活的,查询数据等资源,把处理的结果再次返回给WSGI, WSGI 将返回值进行打包,打包成uwsgi能够接收的格式

  6. uwsgi接收wsgi发送的请求,并转发给nginx,nginx最终将返回值返回给浏览器

Django + uwsgi方案

  1. 没有nginx而只有uwsgi的服务器,则是Internet请求直接由uwsgi处理,并反馈到web项目中。
  2. nginx可以实现安全过滤,防DDOS等保护安全的操作,并且如果配置了多台服务器,nginx可以保证服务器的负载相对均衡。
  3. 而uwsgi则是一个web服务器,实现了WSGI协议(Web Server Gateway Interface),http协议等,它可以接收和处理请求,发出响应等。
    所以只用uwsgi也是可以的。

nginx和uWSGI特点

  • nginx的作用
  1. 反向代理,可以拦截一些web攻击,保护后端的web服务器
  2. 负载均衡,根据轮询算法,分配请求到多节点web服务器
  3. 缓存静态资源,加快访问速度,释放web服务器的内存占用,专项专用
  • uWSGI的适用
  1. 单节点服务器的简易部署

  2. 轻量级,好部署

Django + Uwsgi + Nginx 的生产环境部署

在centos 7中安装python3环境
# 1、yum更新yum源
yum update
# 2、安装Python 3.7所需的依赖否则安装后没有pip3包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make
# 3、在官网下载所需版本,这里用的是3.7.0版本
wget https://www.python.org/ftp/3.7.0/Python-3.7.0.tgz
123456
# 1、yum更新yum源
yum update
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值