在傳統的Web專案中,並發量小,使用者使用的少。所以在低並發的情況下,用戶可以直接存取tomcat伺服器,然後tomcat伺服器回傳訊息給用戶。
當然我們知道,為了解決並發,可以使用負載平衡:也就是我們多增加幾個tomcat伺服器。當使用者造訪的時候,請求可以提交到空閒的tomcat伺服器上。
但是這種情況下可能會有一個這樣的問題:上傳圖片操作。我們把圖片上傳到了tomcat1上了,當我們要訪問這個圖片的時候,tomcat1正好在工作,所以訪問的請求就交給其他的tomcat操作,而tomcat之間的數據沒有進行同步,所以就發生了我們要請求的圖片找不到。
為了解決這個情況,我們就想出了分散式。我們專門建立一個圖片伺服器,用來儲存圖片。這樣當我們都把圖片上傳的時候,不管是哪個伺服器接收到圖片,都把圖片上傳到圖片伺服器。
圖片伺服器上需要安裝一個http伺服器,可以使用tomcat、apache、nginx。
看到這裡大家可能會問,既然我們要選擇的是http伺服器,為什麼不繼續使用tomcat,而要使用Nginx?
原因如下:nginx常用做靜態內容服務和代理伺服器(不是你FQ那個代理),直面外來請求轉發給後面的應用服務(tomcat,django什麼的),tomcat更多用來做一個應用容器,讓java web app跑在裡面的東西,對應同等級的有jboss,jetty等東西。
Nginx是一個http伺服器。是一個使用c語言開發的高效能的http伺服器及反向代理伺服器。 Nginx是一款高效能的http 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。由俄羅斯的程式設計師Igor Sysoev所開發,官方測試nginx能夠支撐5萬並發鏈接,並且cpu、內存等資源消耗卻非常低,運行非常穩定。
透過了解Nginx也算是多了一門技術,而且還挺簡單的,使用也比較方便。重點是可以為系統帶來很大的效能提升。
更多Nginx相關技術文章,請造訪Nginx使用教學欄位來學習!
以上是為什麼要用nginx的詳細內容。更多資訊請關注PHP中文網其他相關文章!