Nginx+uswgi

nginx相当于是服务器负责接收请求,uwsgi是服务器和服务端应用程序的协议规定了怎么把请求转发给应用程序和返回

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

  • uwsgi协议是一个uWSGI服务器自有的协议它与WSGI相比是两样东西

  • WSGI是一种Web服务器网关接口。它是一个Web服务器(如nginx,uWSGI等服务器)与web应用通信的一种规范

首先nginx 是对外的服务接口外部浏览器通过url访问nginx,

 

2 nginx 接收到浏览器发送过来的http请求将包进行解析分析url

  •  如果是静态文件请求就直接访问用户给nginx配置的静态文件目录直接返回用户请求的静态文件
  • 如果不是静态文件而是一个动态的请求那么nginx就将请求转发给uwsgi,uwsgi 接收到请求之后将包进行处理处理成wsgi可以接受的格式并发给wsgi,wsgi 根据请求调用应用程序的某个文件某个文件的某个函数最后处理完将返回值再次交给wsgi,wsgi将返回值进行打包打包成uwsgi能够接收的格式,uwsgi接收wsgi 发送的请求并转发给nginx,nginx最终将返回值返回给浏览器。

 

第一级的nginx并不是必须的,uwsgi完全可以完成整个的和浏览器交互的流程但是要考虑到某些情况

 

  •  安全问题程序不能直接被浏览器访问到而是通过nginx,nginx只开放某个接口,uwsgi本身是内网接口这样运维人员在nginx上加上安全性的限制可以达到保护程序的作用。
  • 负载均衡问题一个uwsgi很可能不够用即使开了多个work也是不行毕竟一台机器的cpu和内存都是有限的有了nginx做代理一个nginx可以代理多台uwsgi完成uwsgi的负载均衡。
  • 静态文件问题django或是uwsgi这种东西来负责静态文件的处理是很浪费的行为而且他们本身对文件的处理也不如nginx所以整个静态文件的处理都直接由nginx完成静态文件的访问完全不去经过uwsgi以及其后面的东西。

nginx 介绍

http://www.cnblogs.com/knowledgesea/p/5175711.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值