参加Nginx技术分享的总结

参加了公司前两天的一个关于Nginx的技术分享,一直很懒,今天把参加后的总结记录一下。 nginx

Nginx的做用: 后端

  1. HTTP Server
  2. 反向代理,用于将用户的请求转发到后端的Server上,过滤掉一些无用的请求,不用直接进入后端Server
  3. 邮件服务器

Nginx能够同时响应上万的请求,效率要高于Apache Server。 缓存

Nginx在公司的应用: 服务器

  1. 反向代理:
    1. HTTP层的交换,能够用来分流用户,好比根据用户的ID是偶数仍是奇数来分流
    2. 负载均衡
    3. 用于缓存Server
  2. 用做Web Server,主要是图片相册什么的
Nginx在淘宝的一个应用:查询服务器,利用Lua + lua_module + MySQL

关于Nginx的配置 负载均衡

Nginx配置中最小的是location,在每一个location中会有相似于Container Handler的东西,将请求转发到后端的Server中得到内容,在返回以前还能够使用filter对内容进行处理。 性能

Nginx配置中实现负载均衡公司使用两种方式: lua

  • 根据weight:location -> proxy_pass -> upstream -> 在upstream中不一样的后端Server配置不一样的weight
  • 根据Hash: location -> proxy_pass -> upstream -> 在upstream将域名以后的位置请求Hash后分配到不一样的后端Server

须要注意的是,Nginx的反向代理会将client的请求所有读入到nginx server的内存中,再转发到后端的Server。 代理

关于Nginx用做缓存: server

  • 能够将数据缓存到磁盘或者MemCached中
  • Nginx对磁盘上多个文件的管理性能通常
最后提到,Nginx如今只支持HTTP1.0,因此使用的时候要注意。
相关文章
相关标签/搜索