Nginx服务器在Django项目中的使用

1.怎么理解ngnix 的正向代理与反向代理?

web 开发中,部署方式大致类似。简单来说,使用Nginx 主要是为了实现分流、转发、负载均衡,以及分担服务器的压力。Nginx 部署简单,内存消耗少,成本低。Nginx 既可以做正向代理,也可以做反向代理。

正向代理:请求从局域网发出,经过代理服务器,然后到达互联网上的服务器。
特点:服务端并不知道真正的客户端是谁。

反向代理:请求从互联网发出,先进入代理服务器,再转发给局域网内的服务器。
特点:客户端并不知道真正的服务端是谁。

区别:正向代理的对象是客户端。反向代理的对象是服务端。

2.django 中当一个用户登录A 应用服务器(进入登录状态),然后下次请求被nginx代理到B 应用服务器会出现什么影响?

如果用户在A 应用服务器登陆的session 数据没有共享到B 应用服务器,那么之前的登录状态就没有了。

3.Django 本身提供了runserver,为什么不能用来部署?而是使用nginx+uWSGI部署?

runserver 方法是调试Django 时经常用到的运行方式,它使用Django 自带的WSGI Server 运行,主要在测试和开发中使用,并且runserver 开启的方式也是单进程。

uWSGI 是一个Web 服务器,它实现了WSGI 协议(web服务网关接口)、uwsgi(线路协议)、http 等协议。注意uwsgi 是一种通信协议,而uWSGI 是实现uwsgi 协议和WSGI 协议的Web 服务器。uWSGI 具有超快的性能、低内存占用和多app 管理等优点,并且搭配着Nginx 就是一个生产环境了,能够将用户访问请求与应用app 隔离开,实现真正的部署。相比来讲,支持的并发量更高,方便管理多进程,发挥多核的优势,提升性能。

4.apache 和nginx 的区别?

4.1 Nginx 相对Apache 的优点:

(1)轻量级,同样起web 服务,比apache 占用更少的内存及资源;
(2)抗并发,nginx 处理请求是异步非阻塞的,支持更多的并发连接,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能;
(3)配置简洁;
(4)高度模块化的设计,编写模块相对简单;
(5)社区活跃。

4.2 Apache 相对Nginx 的优点:

(1)rewrite ,比nginx 的rewrite 强大;
(2)模块超多,基本想到的都可以找到;
(3)少bug ,nginx 的bug 相对较多;
(4)超稳定。

5.谈一下对uWSGI 和nginx 的理解?

5.1 uWSGI 是一个Web 服务器,它实现了WSGI 协议、uwsgi、http 等协议。

Nginx 中HttpUwsgiModule 的作用是与uWSGI 服务器进行交换。WSGI 是一种Web 服务器网关接口。它是一个Web 服务器(如nginx,uWSGI 等服务器)与web 应用(如用Flask 框架写的程序)通信的一种规范。

要注意WSGI / uwsgi / uWSGI 这三个概念的区分。

  • 1.WSGI 是一种通信协议。
  • 2.uwsgi 是一种线路协议而不是通信协议,在此常用于在uWSGI 服务器与其他网络服务器的数据通信。uWSGI 是实现了uwsgi 和WSGI 两种协议的Web 服务器。

5.2. nginx 是一个开源的高性能的HTTP 服务器和反向代理:

  • 1.作为web 服务器,它处理静态文件和索引文件效果非常高;
  • 2.它的设计非常注重效率,最大支持5 万个并发连接,但只占用很少的内存空间;
  • 3.稳定性高,配置简洁;
  • 4.强大的反向代理和负载均衡功能,平衡集群中各个服务器的负载压力应用。

6.7. 说说nginx 和uWISG 服务器之间如何配合工作的?

  • (1)首先浏览器发起http 请求到nginx 服务器
  • (2)Nginx 根据接收到请求包,进行url 分析,判断访问的资源类型,如果是静态资源,直接读取静态资源返回给浏览器
  • (3)如果请求的是动态资源就转交给uwsgi服务器,uwsgi 服务器根据自身的uwsgi 和WSGI 协议,找到对应的Django 框架。
  • (4)Django 框架下的应用进行逻辑处理后,将返回值发送到uwsgi 服务器,然后uwsgi 服务器再返回给nginx。
  • (5)最后nginx将返回值返回给浏览器进行渲染显示给用户。
    在这里插入图片描述
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值