參加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,因此使用的時候要注意。
相關文章
相關標籤/搜索