As we all know,目前web伺服器軟體分為兩大陣營,一個是Apache,以成熟穩定著稱,而新起的nginx則以記憶體佔用少,抗並發而日益得到部署。那麼,作為一個PHP開發人員,在lamp和lnmp這兩個不同環境下,需要注意那些呢?比如,apache是阻塞型,而nginx是非同步非阻塞,這對程式的執行順序會不會產生了影響?還有那些方面會產生不同?在此先感謝每個回答者。
回複內容:
As we all know,目前web伺服器軟體分為兩大陣營,一個是Apache,以成熟穩定著稱,而新起的nginx則以記憶體佔用少,抗並發而日益得到部署。那麼,作為一個PHP開發人員,在lamp和lnmp這兩個不同環境下,需要注意那些呢?比如,apache是阻塞型,而nginx是非同步非阻塞,這對程式的執行順序會不會產生了影響?還有那些方面會產生不同?在此先感謝每個回答者。
這個問題其實你不用考慮太多,因為小網站不管apache還是nginx都無所謂。
大訪問量的網站用的也不單純是apache或者nginx,比較多是採用lnmpa架構
nginx處理靜態檔案和高並發能力強,而apache處理動態程式能力更強,所以大網站一般用nginx做反向 Proxy,靜態檔案直接返回,動態請求轉寄給apache。
現在不管是 Apache 還是 Nginx 都是轉寄請求到 php-fpm 的。代碼開發層面上沒什麼不同。
如果你的應用不是非同步非阻塞,那些是不會有影響的。
apache 和 nginx都可以用php-fpm
LNPP路過……
NGINX負責處理靜態資源,APACHE處理動態指令碼俗稱 lnmpa
最近踩了這個坑,目前小站日PV20W+,單機 4核4G記憶體,使用lanmp(php5.5 + mysql5.6 + apache 2.4 + nginx 1.6)環境,注意,是單機,高峰期CPU經常100%,以前用的lnmp( php5.1 + nginx 1.4 + mysql 5.1 ),同樣並發,高峰期CPU不會超過70%,負載一直很穩定,目前正在嘗試換成lnmp(nginx 1.6 + php 5.6 ) 用的 linuxeye的包!