httpd结合php的fpm模式

2021-06-26 18:06

阅读:473

[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

ProxyPassMatch ^/(.*\.php)$ fcgi://IP:9000/PATH/TO/DOCUMENT_ROOT/$1   #把以.php结尾的文件请求发送到php-fpm进程,php-fpm至少需要知道运行的目录和URI。注意:这里的 DOCUMENT_ROOT 只是php文件的存放路径,可以不是httpd的站点根目录。实际环境中,php-fpm与httpd多位于不同的主机上,动态资源部署在php-fpm服务器上。
 
由于httpd编译安装的目录在/usr/local/apache2.4下面,默认的网站根目录为htdocs
现在检验是否成功:

[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
$conn=mysql_connect(‘127.0.0.1‘,‘root‘,‘redhat‘);
if ($conn)
echo "successful";
else
echo "failure";
mysql_close();
phpinfo();
?>

然后访问截图:

技术分享

所以静态存放的网站文件与动态存放的php文件没有直接的联系,可以随便安放,当然放在一起也是可以的


评论


亲,登录后才可以留言!