PHP-FPM 作為 FastCGI 進(jìn)程管理器而廣為熟知,它是PHPFastCGI 實(shí)現(xiàn)的改進(jìn)捐川,帶有更為有用的功能,用于處理高負(fù)載的服務(wù)器和網(wǎng)站。下面列出其中一些功能: 新功能 擁有具有優(yōu)雅(graceful)啟動/停止選項(xiàng)的高級進(jìn)程管理能力杀捻。
PHP-FPM 作為 FastCGI 進(jìn)程管理器而廣為熟知,它是 PHP FastCGI 實(shí)現(xiàn)的改進(jìn)蚓庭,帶有更為有用的功能致讥,用于處理高負(fù)載的服務(wù)器和網(wǎng)站。下面列出其中一些功能:
新功能
擁有具有優(yōu)雅(graceful)啟動/停止選項(xiàng)的高級進(jìn)程管理能力器赞。
可以通過不同的用戶身份/組身份來以監(jiān)聽多個端口以及使用多個PHP配置垢袱。
錯誤日志記錄。
支持上傳加速港柜。
特別用于在處理一些耗時任務(wù)時結(jié)束請求和清空所有數(shù)據(jù)的功能请契。
同時支持動態(tài)和靜態(tài)的子進(jìn)程重生。
支持IP地址限制。
在本文中爽锥,我將要討論的是涌韩,在運(yùn)行
CPanel 11.52 及 EA3 (EasyApache)的 CentOS 7 服務(wù)器上,于 Nginx 和 Apache 之上安裝
PHP-FPM救恨,以及如何來通過 CPanel 管理這些安裝好的多個 PHP-FPM 實(shí)例贸辈。
在我們開始安裝前, 先看看安裝的先決條件肠槽。
先決條件
啟用 Modproxyfcgi 模塊
啟用 MPM_Event
由于我們要將 PHP-FPM 安裝到一臺 EA3 服務(wù)器擎淤,我們需要運(yùn)行 EasyApache 來編譯 Apache 以啟用這些模塊。
你們可以參考我以前寫的秸仙,關(guān)于如何在 Apache 服務(wù)器上安裝 Nginx 作為反向代理的文檔來了解 Nginx 的安裝嘴拢。
這里,我將再次簡述那些安裝步驟寂纪。具體細(xì)節(jié)席吴,你可以參考我之前寫的(如何在 CentOS 7/CPanel 服務(wù)器上配置 Nginx 反向代理)一文。
步驟 1:安裝 Epel 倉庫
步驟 2:安裝 nDeploy RPM 倉庫捞蛋,這是此次安裝中最為重要的步驟孝冒。
步驟 3:使用 yum 從 nDeploy 倉庫安裝 nDeploy 和 Nginx 插件。
步驟 4:啟用/配置 Nginx 為反向代理拟杉。
完成這些步驟后庄涡,下面為服務(wù)器中所有可用 PHP 版本安裝 PHP-FPM 包穴店,EA3 使用 remi 倉庫來安裝這些包泣洞。你可以運(yùn)行這個 nDeploy 腳本來下載所有的包。
root@server1[~]#/opt/nDeploy/scripts/easy_php_setup.sh
Loadedplugins:fastestmirror,tsflags,universal-hooks
EA4|2.9kB00:00:00
base|3.6kB00:00:00
epel/x86_64/metalink|9.7kB00:00:00
epel|4.3kB00:00:00
extras|3.4kB00:00:00
updates|3.4kB00:00:00
(1/2):epel/x86_64/updateinfo|460kB00:00:00
(2/2):epel/x86_64/primary_db
運(yùn)行該腳本將為 PHP 54默色,PHP 55球凰,PHP 56 和 PHP 70 安裝所有這些 FPM 包。
InstalledPackages
php54-php-fpm.x86_645.4.45-3.el7.remi@remi
php55-php-fpm.x86_645.5.31-1.el7.remi@remi
php56-php-fpm.x86_645.6.17-1.el7.remi@remi
php70-php-fpm.x86_647.0.2-1.el7.remi@remi
在以上安裝完成后腿宰,你需要為 Apache 啟用 PHP-FPM SAPI弟蚀。你可以運(yùn)行下面這個腳本來啟用 PHP-FPM 實(shí)例。
root@server1[~]#/opt/nDeploy/scripts/apache_php-fpm_setup.sh enable
mod_proxy_fcgi.c
Pleasechoose onedefaultPHP versionfromthelistbelow
PHP70
PHP56
PHP54
PHP55
Providethe exact desired version string hereandpress ENTER:PHP54
ConfGen::lxblogger
ConfGen::blogr
ConfGen::saheetha
ConfGen::satest
which:nocagefsctlin(/usr/local/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin)
info[rebuildhttpdconf]Missingownerfordomain server1.centos7-test.com,force lookup to root
Built/usr/local/apache/conf/httpd.conf OK
Waitingfor“httpd”to restart gracefully…waitingfor“httpd”to initialize……
…finished.
它會問你需要運(yùn)行哪個 PHP 版本作為服務(wù)器默認(rèn)版本酗失,你可以輸入那些細(xì)節(jié)內(nèi)容,然后繼續(xù)配置并為現(xiàn)存的域名生成虛擬主機(jī)文件昧绣。
我選擇了 PHP 54 作為我服務(wù)器上的默認(rèn) PHP-FPM 版本规肴。
confirm-php-fpm
雖然服務(wù)器配置了 PHP-FPM 54拖刃,但是我們可以通過 CPanel 為各個獨(dú)立的域名修改 PHP-FPM 實(shí)例删壮。
下面我將通過一些截圖來為你們說明一下,怎樣通過 CPanel 為各個獨(dú)立域修改 PHP-FPM 實(shí)例兑牡。
安裝了 Nginx 插件后央碟,你的域名的 CPanel 就會有一個 Nginx Webstack 圖標(biāo),你可以點(diǎn)擊該圖標(biāo)來配置你的 Web 服務(wù)器均函。我已經(jīng)登錄進(jìn)了我其中的一個 CPanel 來配置相應(yīng)的 Web 服務(wù)器洛勉。
請看這些截圖。
nginxicon1
現(xiàn)在如迟,你可以根據(jù)需要為選中的主域配置 web 服務(wù)器(這里收毫,我已經(jīng)選擇了主域 saheetha.com)。我已經(jīng)繼續(xù)通過自動化配置選項(xiàng)來進(jìn)行了殷勘,因?yàn)槲也恍枰砑尤魏问謩釉O(shè)置此再。
nginx_auto_proxy
當(dāng) Nginx 配置完后,你可以在這里為你的域名選擇 PHP-FPM 實(shí)例玲销。
php-fpm1
php54
php55
就像你在截圖中所看到的输拇,我服務(wù)器上的默認(rèn) PHP-FPM 是PHP 54,而我正要將我的域名的 PHP-FPM 實(shí)例單獨(dú)修改成 PHP 55痒玩。當(dāng)你為你的域修改 PHP-FPM 后淳附,你可以通過訪問 phpinfo 頁面來確認(rèn)。
互聯(lián)網(wǎng)+時代蠢古,時刻要保持學(xué)習(xí)奴曙,攜手千鋒PHP,Dream It Possible。
更多PHP相關(guān)技術(shù)請搜索千鋒PHP草讶,做真實(shí)的自己洽糟,用良心做教育。