php的叢集是指很多台伺服器處理同樣的工作,指的是硬體上的一般,例如slb負載平衡主要作用是有多台伺服器處理同樣的工作。
建置PHP叢集的第一步就是設定負載平衡。首先我們需要三台主機:
Nginx負載:192.166.5.111 (建議學習:PHP影片教學)
PHP應用1:192.168.5.112
PHP應用2:192.168.5.113
先前,在PHP應用程式所在的主機,我們需要安裝Nginx或apache等這類web伺服器,然後再在前面使用Nginx作為負載。
Nginx 負載和php應用的通訊是在應用層的,Nginx 負載其實相當於一個代理。但是,現在情況不同了。
Fastcgi技術的應用允許在php應用層可以不用再安裝web伺服器。現在PHP5.5版本已經將fpm作為內部模組支援了。
在這種情況下,Nginx 負載和php應用之間的通訊是在傳輸層的,二者之間使用socket進行通訊。當然了,這需要fpm服務的支援。
叢集的概念沒有多複雜,其實就是多台電腦為了同一個目標在一起工作。在Web應用中,就是多個伺服器提供一個站點的服務。
建立PHP叢集的第一步就是設定負載平衡。首先我們需要三台主機:
Nginx負載:192.166.5.111
PHP應用1:192.168.5.112
PHP應用2:192.168.5.113
先前,在PHP應用程式所在的主機,我們需要安裝Nginx或apache等這類web伺服器,然後再在前面使用Nginx作為負載。
Nginx 負載和php應用的通訊是在應用層的,Nginx 負載其實相當於一個代理。但是,現在情況不同了。 Fastcgi技術的應用允許在php應用層可以不用再安裝web伺服器。
現在PHP5.5版本已經將fpm當作內部模組支援了。在這種情況下,Nginx 負載和php應用之間的通訊是在傳輸層的,二者之間使用socket進行通訊。當然了,這需要fpm服務的支援。
Nginx設定
首先對Nginx(192.168.5.111)進行設置,編輯nginx.conf設定檔
http{ …… upstream onmpw_phpApps{ server 192.168.18.88:9000; server 192.168.18.191:9000; } …… Server{ listen 80; server_name load.onmpw.com ##这里是域名 root /www/onmpw …… location ~ \.php$ { root /www/onmpw ##这里是PHP应用所在目录 fastcgi_pass onmpw_phpApps; …… } } }
以上是對Nginx進行的設定。其中只是包含了關鍵的部分,其餘的和平常我們使用Nginx PHP作為web服務的時候進行的設定相同。
PHP所在主機設定
這裡的設定就比較簡單了。
先編輯php-fpm.conf文件,修改監聽的ip和端口,然後啟動fpm服務
主機192.168.5.112
Listen = 192.168.5.112:9000 //這裡的連接埠可以自行設定。儲存退出
# /usr/local/php/sbin/php-fpm //开启服务
主機192.168.5.113
Listen = 192.168.5.113:9000 # /usr/local/php/sbin/php-fpm
到這裡就對PHP的主機設定完成了。當然了,程式碼需要在兩台主機上各上傳一份兒。
好了,經過上面的設置,一個基本的PHP叢集就已經搭建完成了。
#以上是php集群如何實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!