如何開啟apache的PHP-FPM實例


PHP-FPM 作為 FastCGI 進程管理器而廣為熟知,它是PHPFastCGI 實現的改進,帶有更為有用的功能,用於處理高負載的服務器和網站。下面列出其中一些功能: 新功能 擁有具有優雅(graceful)啟動/停止選項的高級進程管理能力。

PHP-FPM 作為 FastCGI 進程管理器而廣為熟知,它是 PHP FastCGI 實現的改進,帶有更為有用的功能,用於處理高負載的服務器和網站。下面列出其中一些功能:

新功能

擁有具有優雅(graceful)啟動/停止選項的高級進程管理能力。

可以通過不同的用戶身份/組身份來以監聽多個端口以及使用多個PHP配置。

錯誤日志記錄。

支持上傳加速。

特別用於在處理一些耗時任務時結束請求和清空所有數據的功能。

同時支持動態和靜態的子進程重生。

支持IP地址限制。

在本文中,我將要討論的是,在運行

CPanel 11.52 及 EA3 (EasyApache)的 CentOS 7 服務器上,於 Nginx 和 Apache 之上安裝

PHP-FPM,以及如何來通過 CPanel 管理這些安裝好的多個 PHP-FPM 實例。

在我們開始安裝前, 先看看安裝的先決條件。

先決條件

啟用 Modproxyfcgi 模塊

啟用 MPM_Event

由於我們要將 PHP-FPM 安裝到一台 EA3 服務器,我們需要運行 EasyApache 來編譯 Apache 以啟用這些模塊。

你們可以參考我以前寫的,關於如何在 Apache 服務器上安裝 Nginx 作為反向代理的文檔來了解 Nginx 的安裝。

這里,我將再次簡述那些安裝步驟。具體細節,你可以參考我之前寫的(如何在 CentOS 7/CPanel 服務器上配置 Nginx 反向代理)一文。

步驟 1:安裝 Epel 倉庫

步驟 2:安裝 nDeploy RPM 倉庫,這是此次安裝中最為重要的步驟。

步驟 3:使用 yum 從 nDeploy 倉庫安裝 nDeploy 和 Nginx 插件。

步驟 4:啟用/配置 Nginx 為反向代理。

完成這些步驟后,下面為服務器中所有可用 PHP 版本安裝 PHP-FPM 包,EA3 使用 remi 倉庫來安裝這些包。你可以運行這個 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

運行該腳本將為 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。你可以運行下面這個腳本來啟用 PHP-FPM 實例。

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.

它會問你需要運行哪個 PHP 版本作為服務器默認版本,你可以輸入那些細節內容,然后繼續配置並為現存的域名生成虛擬主機文件。

我選擇了 PHP 54 作為我服務器上的默認 PHP-FPM 版本。

confirm-php-fpm

雖然服務器配置了 PHP-FPM 54,但是我們可以通過 CPanel 為各個獨立的域名修改 PHP-FPM 實例。

下面我將通過一些截圖來為你們說明一下,怎樣通過 CPanel 為各個獨立域修改 PHP-FPM 實例。

安裝了 Nginx 插件后,你的域名的 CPanel 就會有一個 Nginx Webstack 圖標,你可以點擊該圖標來配置你的 Web 服務器。我已經登錄進了我其中的一個 CPanel 來配置相應的 Web 服務器。

請看這些截圖。

nginxicon1

現在,你可以根據需要為選中的主域配置 web 服務器(這里,我已經選擇了主域 saheetha.com)。我已經繼續通過自動化配置選項來進行了,因為我不需要添加任何手動設置。

nginx_auto_proxy

當 Nginx 配置完后,你可以在這里為你的域名選擇 PHP-FPM 實例。

php-fpm1

php54

php55

就像你在截圖中所看到的,我服務器上的默認 PHP-FPM 是PHP 54,而我正要將我的域名的 PHP-FPM 實例單獨修改成 PHP 55。當你為你的域修改 PHP-FPM 后,你可以通過訪問 phpinfo 頁面來確認


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM