天天看點

nginx+apache+php+mysql伺服器叢集搭建

nginx+apache+php+伺服器叢集搭建

由于需要搭建了一個基本的伺服器叢集。具體的配置方案先不說了,到有時間的時候再介紹。下面介紹下整個方案的優點。

我總共準備了四台阿裡雲的主機,架設分别是a,b1,b2,c,a在叢集的最前面,b1和b2在a的後面,c在最後面。a主要用的nginx,用nginx做反向代理的功能實在是強大。nginx把來自80的http請求都轉發到b1和b2上,b1和b2主要是兩台apache,用于php解析。b1和b2來連接配接c上的mysql。a上的nginx除了做基本的反向代理工作之外(這裡可以采用負載均衡),還進行靜态檔案的緩存和處理。

  www.2cto.com  

對于一些靜态頁面的請求,nginx直接就把它處理了,不會把請求轉發到後面的apache上,這樣就減少了apache的負載。apache解析php的穩定性和正确性導緻了它在這個架構中的地位。網上的資料都說apache相對nginx解析php的穩定性和正确性等都強一些,我看未必,我現在也沒有做過測試。

最後面的是mysql,apache去連接配接mysql都是通過内網去連接配接的,一是保證安全性,二是效率也高。同樣的nginx轉發到nginx也是通過内網去實作。

整個結構的實作大大的提高了站點的并發量,我做了測試,一分鐘通路2000次左右,結果nginx所在的a主機記憶體很高,但是cpu幾乎不耗,原因是因為nginx基本上都是隻做轉發和靜态頁面的響應,是以cpu很高。而後面的b1和b2就相對而言apache解析php損耗的cpu就比較高。最後面的c上的mysql消耗也比較高。

整個叢集這樣的配置還是效率比較高的。起碼證明了nginx的強大之處。

繼續閱讀