無論是 nginx 還是 apache 都是 web 服務器應用,通俗點說我們的網(wǎng)站都是需要 web 服務器應用來展現(xiàn)給客戶的,而服務器是供 web 服務器應用正常穩(wěn)定的運行的基礎(chǔ)。
所以說選擇好 Web 服務器應用是會影響到網(wǎng)站性能表現(xiàn)的,甚至會影響到用戶的瀏覽體驗。而目前比較主流的 Web 服務器應用也就是 nginx 和 Apache 了,今天就給大家闡述一下為什么我一直都推薦大家使用 Nginx 而不是 Apache?? ? ? ? ?(推薦學習:nginx教程)
有關(guān) Nginx 和 Apache 的介紹我就不做贅述了,大家自行百度、谷歌一下就可以了解了,廢話不多說了,直奔主題:
1、作為 Web 服務器:相比 Apache,Nginx 使用更少的資源,支持更多的并發(fā)連接,體現(xiàn)更高的效率,這點使 Nginx 尤其受到虛擬主機提供商的歡迎。
在高連接并發(fā)的情況下,Nginx 是 Apache 服務器不錯的替代品;Nginx 在美國是做虛擬主機生意的老板們經(jīng)常選擇的軟件平臺之一。能夠支持高達 50000 個并發(fā)連接數(shù)的響應,感謝 Nginx 為我們選擇了 epoll and kqueue 作為開發(fā)模型。
Nginx 作為負載均衡服務器:Nginx 既可以在內(nèi)部直接支持 Rails 和 php 程序?qū)ν膺M行服務,也可以支持作為 http 代理服務器對外進行服務。Nginx 采用 C 進行編寫,不論是系統(tǒng)資源開銷還是 CPU 使用效率都比 Perlbal 要好很多。
2、Nginx 配置簡潔,Apache 復雜,Nginx 啟動特別容易,并且?guī)缀蹩梢宰龅?7*24 不間斷運行,即使運行數(shù)個月也不需要重新啟動。
你還能夠不間斷服務的情況下進行軟件版本的升級。Nginx 靜態(tài)處理性能比 Apache 高 3 倍以上,Apache 對 PHP 支持比較簡單,Nginx 需要配合其他后端來使用,Apache 的組件比 Nginx 多。
3、最核心的區(qū)別在于 Apache 是同步多進程模型,一個連接對應一個進程;Nginx 是異步的,多個連接(萬級別)可以對應一個進程。
4、Nginx 的優(yōu)勢是處理靜態(tài)請求,cpu 內(nèi)存使用率低,Apache 適合處理動態(tài)請求,所以現(xiàn)在一般前端用 Nginx 作為反向代理抗住壓力,Apache 作為后端處理動態(tài)請求。