我們在之前介紹過php handler。
在我們虛擬主機裡,是使用fastcgi的讀寫方式,
如果在一般主機要追求更高的效能,則可以考慮使用php-fpm。
以下直接以設定範例說明(適用於 centos 6.x版):
<進行php-fpm的安裝>
1. 登入 whm>Configure PHP and suEXEC
設定
PHP 5 Handler: none
Apache suEXEC: off
Apache Ruid2: off
2.linux shell > vim /var/cpanel/easy/apache/rawopts/all_php5
加入下列兩行後存檔
--enable-fastcgi
--enable-fpm
3.回到 whm > easyapache
並作下列設定
(1). Select Apache 2.2.x
(2). Select PHP 5.4.x
(3). Disable Frontpage
(4). Disable Mod SuPHP
(5). Disable Mod Ruid2
(6). Select MPM Worker
(7). Disable MPM Prefork and MPM Event
rebuilding 完成後,在接下一步
4.回到linux shell裡處理 PHP-FPM 設定檔
cd /home/cpeasyapache/src/php-5.4.x/sapi/fpm/
cp init.d.php-fpm.in /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm
5. vim /etc/init.d/php-fpm
將
prefix=@prefix@
exec_prefix=@exec_prefix@
php_fpm_BIN=@sbindir@/php-fpm
php_fpm_CONF=@sysconfdir@/php-fpm.conf
php_fpm_PID=@localstatedir@/run/php-fpm.pid
改為
prefix=
exec_prefix=
php_fpm_BIN=/usr/local/sbin/php-fpm
php_fpm_CONF=/usr/etc/php-fpm.conf
php_fpm_PID=/var/run/php-fpm.pid
(新路逕務必查證,才不會error)
<調整php-fpm.conf>
6.
cd /home/cpeasyapache/src/php-5.4.x/sapi/fpm/
cp php-fpm.conf.in /usr/etc/php-fpm.conf
7. vim /usr/etc/php-fpm.conf
設定
user = nobody
group = nobody
vim /usr/local/apache/conf/includes/post_virtualhost_global.conf
LoadModule fastcgi_module modules/mod_fastcgi.so
<IfModule mod_fastcgi.c>
FastCGIExternalServer /usr/local/sbin/php-fpm -host 127.0.0.1:9000
AddHandler php-fastcgi .php
#<LocationMatch "/status">
# SetHandler php-fastcgi-virt
# Action php-fastcgi-virt /usr/local/sbin/php-fpm.fcgi virtual
#</LocationMatch>
Action php-fastcgi /usr/local/sbin/php-fpm.fcgi
ScriptAlias /usr/local/sbin/php-fpm.fcgi /usr/local/sbin/php-fpm
<Directory /usr/local/sbin>
Options ExecCGI FollowSymLinks
SetHandler fastcgi-script
Order allow,deny
Allow from all
</Directory>
</IfModule>
wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz
tar -xzf mod_fastcgi-2.4.6.tar.gz
cd mod_fastcgi-2.4.6
cp Makefile.AP2 Makefile
make
make install
12. 最後設定開機啟動 php-fpm
chkconfig php-fpm on
/etc/init.d/httpd restart
如果安裝過程,遇到其他錯誤訊息,
或是要使用 php 5.5 , php5.6,則要額外視路逕進行調整。