httpd结合php的fpm模式
httpd2.4版本的编译安装,不再赘述,查看上一篇:http://www.cnblogs.com/jsonhc/p/7134053.html
从官网下载php源码包:php-5.6.30.tar.bz2
1、安装必要的依赖包
[root@wadeson php-5.6.30]# service php-fpm start
Starting php-fpm done
[root@wadeson ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5104/sshd
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 27281/php-fpm
4、修改httpd配置文件以支持php
######load modules#### 启用这两个模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
######添加php:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
####修改DirectoryIndex:
DirectoryIndex index.html index.php
####然后在虚拟主机中配置用fcgi来处理php文件
######config fpm####
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache2.4/www/$1
[root@wadeson apache2.4]# cd htdocs/
[root@wadeson htdocs]# ll
total 4
-rw-r--r--. 1 root root 10 Jul 11 14:35 index.html
[root@wadeson htdocs]# cat index.html
test page
访问截图:
刚刚在配置文件配置的是动态目录为:ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache2.4/www/$1
[root@wadeson apache2.4]# cd www/
[root@wadeson www]# ll
total 4
-rw-r--r--. 1 root root 154 Jul 11 14:34 index.php
[root@wadeson www]# cat index.php
<?php
$conn=mysql_connect('127.0.0.1','root','redhat');
if ($conn)
echo "successful";
else
echo "failure";
mysql_close();
phpinfo();
?>
然后访问截图:
所以静态存放的网站文件与动态存放的php文件没有直接的联系,可以随便安放,当然放在一起也是可以的
添加xcache加速:
#tar xf xcache-3.2.0.tar.gz
#cd xcache-3.2.0
#/usr/local/php/bin/phpize
#./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
#make && make install
#mkdir /etc/php.d
#cp xcache.ini /etc/php.d/
#vim /etc/php.d/xcache.ini
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/xcache.so
然后访问查看:(重载一下服务)