有了uWGSI服务器,Django 为什么还需要 Nginx?

 
一个普通的个人网站,访问量不大的话,当然可以由 uWSGI 和 Django 构成。
但是一旦访问量过大,客户端请求连接就要进行长时间的等待。这个时候就出来了分布式服务器,我们可以多来几台 Web 服务器,都能处理请求。
但是谁来分配客户端的请求连接和 Web 服务器呢?Nginx 就是这样一个管家的存在,由它来分配并转发http请求到后面的服务器(并没有处理http请求)。这也就是由 Nginx 实现反向代理,即代理服务器。
 
正向代理:正向的就是由浏览器主动的想代理服务器发出请求,经代理服务器做出处理后再转给目标服务器
Nginx 是一个 HTTP 和反向代理服务器
 
 
反向代理:反向的就是不管浏览器同不同意,请求都会经过代理服务器处理再发给目标服务器
 
使用Nginx作为反向代理服务器的好处:
安全
  不管什么请求都要经过代理服务器,可以避免外部程序直接攻击Web服务器
负载均衡
  根据请求情况和服务器负载情况,将请求分配给不同的Web服务器,保证服务器性能
  提高Web服务器的IO性能
  请求从客户端传到Web服务器是需要时间的,传递多长时间就会让这个进程阻塞多长时间,而通过反向代理,就可以由反向代理完整接受该请求,
  然后再传给Web服务 器,从而保证服务器性能,而且有的一些简单的事情(比如静态文件)可以直接由反向代理处理,不经过Web服务器
posted @ 2024-04-04 18:03  tslam  阅读(14)  评论(0编辑  收藏  举报