4 回答

TA貢獻1719條經(jīng)驗 獲得超6個贊
nginx相對于apache的優(yōu)點:
輕量級,同樣起web 服務,比apache 占用更少的內(nèi)存及資源
抗并發(fā),nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的,在高并發(fā)下nginx 能保持低資源低消耗高性能
高度模塊化的設計,編寫模塊相對簡單
社區(qū)活躍,各種高性能模塊出品迅速啊
apache 相對于nginx 的優(yōu)點:
rewrite ,比nginx 的rewrite 強大
模塊超多,基本想到的都可以找到
少bug ,nginx 的bug 相對較多
超穩(wěn)定
作為 Web 服務器:相比 Apache,Nginx 使用更少的資源,支持更多的并發(fā)連接,體現(xiàn)更高的效率,Nginx還可作為負載均衡服務器
最核心的區(qū)別在于apache是同步多進程模型,一個連接對應一個進程;nginx是異步的,多個連接(萬級別)可以對應一個進程
對web server的需求決定你的選擇。大部分情況下nginx都優(yōu)于APACHE,比如說靜態(tài)文件處理、PHP-CGI的支持、反向代理功能、前端Cache、維持連接等等。在Apache+PHP(prefork)模式下,如果PHP處理慢或者前端壓力很大的情況下,很容易出現(xiàn)Apache進程數(shù)飆升,從而拒絕服務的現(xiàn)象。所以因此可以同時采用apache和nginx來互相彌補,借助apache的安全穩(wěn)定,并依靠nginx的負載均衡來實現(xiàn)最終的目的

TA貢獻1946條經(jīng)驗 獲得超3個贊
nginx跑前端和靜態(tài)文件,并發(fā)值高,apache跑后端,php比較穩(wěn)定,大型網(wǎng)站可以采取nginx+apache+php比較好。正常網(wǎng)站前者就可以了,一個環(huán)境調試難度會小點

TA貢獻2012條經(jīng)驗 獲得超12個贊
如果單臺服務器的話,NGINX+APACHE+PHP 純粹多此一舉,多了一次請求轉發(fā),效率肯定低,而且現(xiàn)在FPM已經(jīng)足夠穩(wěn)定。完全沒必要。
只有多臺服務器集群的話,apache+nginx反代才有意義.NGINX+APACHE+PHP 這種架構存在的原因除了apache出現(xiàn)比較早外,還因為當時FPM不如module模式穩(wěn)定。
不見得。Nginx在前面實現(xiàn)動靜分離,靜態(tài)內(nèi)容由Nginx負責,動態(tài)請求則交給后面的PHP應用服務器Apache(libphp5.so)處理。Apache專心處理PHP,這不挺好嗎?
Nginx+PHP-FPM相對Nginx+Apache(libphp5.so)來說,PHP-FPM更靈活,在php-fpm.conf里可以配置監(jiān)聽不同端口的多個pool,每個pool又可以自由配置PHP-FPM工人進程數(shù)pm.max_children,一個pool里的工人進程繁忙不會影響到另一個pool。在Nginx里可以配置應用的不同部分使用不同的pool,而且一臺服務器上可以運行多個版本的PHP-FPM,借助Nginx的upstream功能,PHP-FPM非常容易橫向擴展。
新浪微博和百度貼吧都在使用Nginx+PHP-FPM的架構,PHP-FPM已經(jīng)足夠穩(wěn)定。
ab同樣并發(fā)數(shù)壓力測試ZF下RPS(請求每秒)對比:
添加回答
舉報