參加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配置中實現負載均衡公司使用兩種方式:

  • 根據weight:location -> proxy_pass -> upstream -> 在upstream中不同的後端Server配置不同的weight
  • 根據Hash: location -> proxy_pass -> upstream -> 在upstream將域名之後的位置請求Hash後分配到不同的後端Server

需要注意的是,Nginx的反向代理會將client的請求全部讀入到nginx server的內存中,再轉發到後端的Server。

關於Nginx用作緩存:

  • 可以將數據緩存到磁盤或者MemCached中
  • Nginx對磁盤上多個文件的管理性能一般
最後提到,Nginx現在只支持HTTP1.0,所以使用的時候要注意。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章