PHP-FPM 作為 FastCGI 進(jìn)程管理器而廣為熟知夜赵,它是PHPFastCGI 實(shí)現(xiàn)的改進(jìn)明棍,帶有更為有用的功能,用于處理高負(fù)載的服務(wù)器和網(wǎng)站寇僧。下面列出其中一些功能: 新功能 擁有具有優(yōu)雅(graceful)啟動(dòng)/停止選項(xiàng)的高級(jí)進(jìn)程管理能力摊腋。
PHP-FPM 作為 FastCGI 進(jìn)程管理器而廣為熟知,它是 PHP FastCGI 實(shí)現(xiàn)的改進(jìn)婉宰,帶有更為有用的功能歌豺,用于處理高負(fù)載的服務(wù)器和網(wǎng)站。下面列出其中一些功能:
擁有具有優(yōu)雅(graceful)啟動(dòng)/停止選項(xiàng)的高級(jí)進(jìn)程管理能力心包。
可以通過(guò)不同的用戶(hù)身份/組身份來(lái)以監(jiān)聽(tīng)多個(gè)端口以及使用多個(gè)PHP配置类咧。
錯(cuò)誤日志記錄。
支持上傳加速蟹腾。
特別用于在處理一些耗時(shí)任務(wù)時(shí)結(jié)束請(qǐng)求和清空所有數(shù)據(jù)的功能痕惋。
同時(shí)支持動(dòng)態(tài)和靜態(tài)的子進(jìn)程重生。
支持IP地址限制娃殖。
在本文中值戳,我將要討論的是,在運(yùn)行 CPanel 11.52 及 EA3 (EasyApache)的 CentOS 7 服務(wù)器上炉爆,于 Nginx 和 Apache 之上安裝 PHP-FPM堕虹,以及如何來(lái)通過(guò) CPanel 管理這些安裝好的多個(gè) PHP-FPM 實(shí)例。
在我們開(kāi)始安裝前芬首, 先看看安裝的先決條件赴捞。
啟用 Modproxyfcgi 模塊
啟用 MPM_Event
由于我們要將 PHP-FPM 安裝到一臺(tái) EA3 服務(wù)器,我們需要運(yùn)行 EasyApache 來(lái)編譯 Apache 以啟用這些模塊郁稍。
你們可以參考我以前寫(xiě)的赦政,關(guān)于如何在 Apache 服務(wù)器上安裝 Nginx 作為反向代理的文檔來(lái)了解 Nginx 的安裝。
這里耀怜,我將再次簡(jiǎn)述那些安裝步驟恢着。具體細(xì)節(jié)桐愉,你可以參考我之前寫(xiě)的(如何在 CentOS 7/CPanel 服務(wù)器上配置 Nginx 反向代理)一文。
步驟 1:安裝 Epel 倉(cāng)庫(kù)
步驟 2:安裝 nDeploy RPM 倉(cāng)庫(kù)掰派,這是此次安裝中最為重要的步驟从诲。
步驟 3:使用 yum 從 nDeploy 倉(cāng)庫(kù)安裝 nDeploy 和 Nginx 插件。
步驟 4:?jiǎn)⒂?配置 Nginx 為反向代理碗淌。
完成這些步驟后盏求,下面為服務(wù)器中所有可用 PHP 版本安裝 PHP-FPM 包,EA3 使用 remi 倉(cāng)庫(kù)來(lái)安裝這些包亿眠。你可以運(yùn)行這個(gè) nDeploy 腳本來(lái)下載所有的包碎罚。
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)行下面這個(gè)腳本來(lái)啟用 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.
它會(huì)問(wèn)你需要運(yùn)行哪個(gè) 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犀勒,但是我們可以通過(guò) CPanel 為各個(gè)獨(dú)立的域名修改 PHP-FPM 實(shí)例屎飘。
下面我將通過(guò)一些截圖來(lái)為你們說(shuō)明一下,怎樣通過(guò) CPanel 為各個(gè)獨(dú)立域修改 PHP-FPM 實(shí)例贾费。
安裝了 Nginx 插件后钦购,你的域名的 CPanel 就會(huì)有一個(gè) Nginx Webstack 圖標(biāo),你可以點(diǎn)擊該圖標(biāo)來(lái)配置你的 Web 服務(wù)器褂萧。我已經(jīng)登錄進(jìn)了我其中的一個(gè) CPanel 來(lái)配置相應(yīng)的 Web 服務(wù)器押桃。
請(qǐng)看這些截圖。
nginxicon1
現(xiàn)在导犹,你可以根據(jù)需要為選中的主域配置 web 服務(wù)器(這里唱凯,我已經(jīng)選擇了主域 saheetha.com)。我已經(jīng)繼續(xù)通過(guò)自動(dòng)化配置選項(xiàng)來(lái)進(jìn)行了谎痢,因?yàn)槲也恍枰砑尤魏问謩?dòng)設(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 后纫骑,你可以通過(guò)訪(fǎng)問(wèn)?phpinfo?頁(yè)面來(lái)確認(rèn)。
互聯(lián)網(wǎng)+時(shí)代九孩,時(shí)刻要保持學(xué)習(xí)先馆,攜手千鋒PHP,Dream It Possible。
更多PHP相關(guān)技術(shù)請(qǐng)搜索千鋒PHP躺彬,做真實(shí)的自己煤墙,用良心做教育。宪拥。