1. 程式人生 > >nginx是什麼,能做什麼,tengine於它的關係,網站設計的優化方法

nginx是什麼,能做什麼,tengine於它的關係,網站設計的優化方法

一說到nginx我們可能想到它跟伺服器掛鉤:

那麼具體他有哪些功能呢:

1:反向代理

2:負載均衡

3:資源伺服器:

接下來具體說說不同功能下都做了哪些事情:

一說到反向代理我們可能會想到的是代理了,那麼代理和反向代理的區別到底是什麼呢:

我們一般說到的代理很大程度上跟翻牆相關了,也就是說利用牆外面的未被牆遮蔽的伺服器(說白了就是電腦)

利用它來連線牆外面的網路;這樣可以隱藏客戶端的作用,黑客很多時候就是利用代理來進行操作的,利用代理跳轉幾次,你就很難追綜到了;

 

說完了代理我們來說說反向代理;代理是讓你能看到外面的世界,那麼反向代理就是讓外面的世界看到你;

再伺服器上的應用就是對伺服器進行統一排程分配:

1:假設一臺伺服器(django為例)能處理的併發是2000個,這是後你公司的需求是讓你的伺服器能夠承受的壓力是併發數為20000,那麼怎麼辦呢:很容易先到的方法就是增加伺服器了,但是伺服器不是大白菜,所以還有一個辦法就是nginx來提高他的併發能力;那麼他是如何增強的呢:首先它是c能承載更多的併發量:

其次他能進行活躍使用者和非活躍使用者的轉換,這樣appserver就不用做活躍使用者的請求就行了;

2:nginx的負載均衡目前支援的方法:

           1):加權重值,也就是每臺伺服器效能不同,根據他們的效能給他們分配一個權重,讓他們根據這個來處理業務

            2):通過iphash的方法:一些客戶端再訪問appserver的時候會有一些快取,通過iphash的方法,對於同一個ip地址,總是               指向同一個伺服器,這個才能保證這些快取有用,能有效的提升伺服器效率;

            3):fair:響應時間來確定任務量:對於反應快的伺服器就多更他分配任務

               4):urlhash :讓一些圖片儲存再專門的伺服器上,在設定url的時候,通一一種url的設定方法;這樣就能讓做業務去做業務,做圖片(io)的去專門做圖片任務

 

tengine就是再nginx上添加了更多的第三方包的東西,(適合中國的伺服器要求,不用自己去配置,下載安裝之類的)

 

如何能加快網站的速度呢:

1:首先首先要做成靜態的,也就是說沒有對業務伺服器的訪問(也就是沒有做過sql查詢)

2:把主頁放到nginx上,讓nginx代理

3:把一些靜態資源給nginx,(包括htmlcss,js的內容)