環境:
redhat5.8(2.6.18-194.el5.i386,_)
Apache-httpd 2.4.16
MysQl mysql-5.6.25二進制通用包
PHP php-5.6.11
pcre-8.35
xcache 3.2
安裝順序:
apr-->apr-util-->httpd-->mysql-->php-->xcache
安裝httpd服務和mysql在另一篇文章有詳細介紹,此處不再累述.需要注意的是httpd服務2.4以上的版本需要pcre8.0以上的版本支持.在編譯安裝httpd前安裝pcre的rpm安裝包即可.
編譯安裝fastaphp:
進入解壓目錄直行:./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-preetype-dir --with-jpeg-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-config-file-path=/etc --with-config-file=/etc/php.d --with-bz2
此處與編譯安裝php作爲httpd模塊不同在於
--with-apxs2=/usr/local/apache/bin/apxs 參數,該參數的意義便在於將php編譯爲httpd的模塊.此處是作爲fastcgi模型.去掉該參數.
make &&make install
配置php-fpm服務
[root@localhost php-5.6.11]# pwd
/root/php-5.6.11
複製SysV服務腳本
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
複製php配置文件
cp php.ini-production /etc/php.ini
修改data目錄路徑
data =/data (注意data目錄權限)
爲php提供額外的配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
vi /etc/local/php/etc/php-fpm.conf
配置httpd服務支持fastcgi
啓用如下兩個模塊
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
配置httpd支持php文件
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
配置反向代理(中心主機)
ProxyRequests off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs
測試httpd-php-mysql連接
vi /usr/local/apache/htdocs/index.php
<html><body><h1>It works!</h1></body></html>
<?php
$conn=mysql_connect('localhost','root','passwd');
if (!$conn)
echo "Could not connet...";
else
echo "connectting,,,";
?>
<?php
phpinfo();
?>
<?php
phpinfo();
?>
在瀏覽器輸入http://HOST/index.php,成功應輸出如下內容: