I have compiled for you a PHP-FPM Centos 6 rpm that can be installed for PHP 5.3.3-14. This rpm works with the standard PHP version that is installed with Centos 6. With this you can configure Apache to use fastcgi and this opens the possibility to use Apache worker MPM.
Why? PHP-FPM offloads php scripts to a dedicated daemon freeing up precious memory and processing power in Apache making it faster.
Download the RPM here: php-fpm-5.3.3-14.el6_3.x86_64.rpm then upload it to your server.
You can install the PHP-FPM Centos 6 rpm using the the yum install command:
yum install php-fpm-5.3.3-14.el6_3.x86_64.rpm
Note that this precompiled RPM only works on 64-bit installations. See below for compiling php-fpm yourself.
After installing the rpm you must configure PHP-FPM. This involves installing mod_fastcgi from RepoForge.
I assume you already installed PHP and Apache, otherwise do it now. (yum install httpd php)
yum install mod_fastcgi
Edit /etc/httpd/conf.d/php.conf and make it empty to disable php5_module. Or comment everything out.
Edit /etc/httpd/conf.d/fastcgi.conf and change FastCgiWrapper to off:
Make a new file /etc/httpd/conf.d/fastcgi.php.conf and paste the following into it to configure the connection from mod_fastcgi to PHP-FPM:
DirectoryIndex index.html index.shtml index.cgi index.php AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /var/www/cgi-bin/php5-fcgi FastCgiExternalServer /var/www/cgi-bin/php5-fcgi -idle-timeout 60 -host 127.0.0.1:9000 -pass-header Authorization
Restart Apache and PHP-FPM:
service httpd restart service php-fpm restart
Test if it works and enjoy your speedy Centos 6 Apache server. phpinfo() should include this: Server API FPM/FastCGI
Not working and using selinux? Execute: setsebool httpd_can_network_connect on
Building the PHP-FPM rpm yourself.
I have painstakingly made a src rpm using the standard src rpm for PHP from Centos with all the modifications to compile php with PHP-FPM.
Download my php src rpm php-5.3.3-14.el6_3.src.rpm and upload it to your server or dedicated build machine. Then install all the dependencies needed to compile the src rpm:
Yum-builddep is available from yum-utils. You may need to install that is yum-builddep is not found.
Now build the rpm file:
rpmbuild --rebuild --define 'dist .el6_3' php-5.3.3-14.el6_3.src.rpm
After a while (depending on the cpu power of your system) you should have a complete set of .rpm files that can install PHP (in /root/rpmbuild/RPMS/x86_64/). Only the php-fpm rpm have to be used to update an existing php installation with PHP-FPM.
It is now possible to configure Apache with the worker MPM by enabling the HTTPD setting in /etc/sysconfig/httpd
Did you like this post? Please give it a thumbs up by sharing it on your social network. Thanks!