apache使用fcgi配置PHP环境的步骤

admin2个月前笔记48

早期的CGI技术使外部程序与Web服务器之间交互成为可能,但CGI程序运行在独立的进程中,并对每个Web请求创建一个进程,这种方法非常容易实现,但效率很差,难以扩展。面对大量请求,进程的大量创建和消亡使操作系统性能大大下降,此外由于地址空间无法共享,也限制了资源重用。

FastCGI使用持续的(守护)进程来处理一连串的请求,这些进程由FastCGI服务器管理,而不是web服务器。 当进来一个请求时,web服务器把环境变量和这个页面请求通过一个socket比如FastCGI进程与web服务器(都位于本地)或者一个TCP connection(FastCGI进程在远端的server farm)传递给FastCGI进程。

FPM介绍

FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的。

具体特性和安装方式可以参照官方网站:FastCGI 进程管理器(FPM)

开始吧,GOGOGO
1.下载解压及准备编译环境不再赘述
2.创建FPM使用的用户和组
[root@rhel6-1 php-5.6.31]# groupadd -r php
[root@rhel6-1 php-5.6.31]# useradd -r php -s /sbin/nologin -g php
3.配置编译选项
./configure --prefix /usr/local/php56 --with-config-file-path=/etc/ --with-config-file-scan-dir=/etc/php.d --with-libxml-dir --with-openssl --with-zlib --enable-mbstring --with-mysql --enable-fpm --with-fpm-user=php --with-fpm-group=php
4.编译安装
make -j 2 & make install
5.更改相关文件的所属组和所属用户
chown :php php56/ -R
配置FPM和Apache
1.复制相关配置文件
cp php.ini-production /etc/php.ini
chown :php /etc/php.ini
mkdir /etc/php.d;chown :php /etc/php.d
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
2.编辑fpm配置文件
cd  /usr/local/php56/etc/
cp -p php-fpm.conf.default php-fpm.conf
vim php-fpm.conf   //此配置文件的路径定义在启动脚本中
3.启用fpm
service php-fpm start

看到如下输出并使用netstat -tnl验证

Starting php-fpm done
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN  //netstat -tnl 看到已经监听了9000端口
4.配置apche

这里使用PROXYPASSMATCH的方式,目前应该是有4种方式可以配置的,图个简单就它了。
先填个坑,好像之前编译httpd的时候没有编译fcgi模块….我的天啊…怎么那么多坑…

/root/httpd-2.4.27/modules/proxy
/usr/local/httpd24/bin/apxs -c -i -a mod_proxy_fcgi.c

编辑httpd配置文件,取消proxy_module这个模块前面的#注释符并添加如下内容:

<IfModule mpm_prefork_module>
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/webroot/$1 //根据自己的网站目录修改路径
</IfModule>

然后重启apache测试,完工。


相关文章

详解:Nginx 反向代理、后端检测模块

详解:Nginx 反向代理、后端检测模块

Nginxshell > yum -y install gcc gcc-c++ make wget zl...

2023最新V2Ray搭建图文教程,V2Ray一键搭建脚本

2023最新V2Ray搭建图文教程,V2Ray一键搭建脚本

V2Ray 搭建教程一键搭建 V2Ray,小白福利一条命令搞定 V2Ray 搭建,最详细的 V2Ray 图文教程!前言此教程面向小白萌新,从创建 VPS 到使用 SSH 登录并安装和配置 V2Ray,...

如何使用Linux匿名上网-四大法宝

如何使用Linux匿名上网-四大法宝

一些人可能会认为这是“锡箔”思维方式,但是正如全球各地的许多情报组织的信息反馈中看到的,政府监视已从被认为一种疯狂的阴谋论变成了几乎赤裸裸的公然威胁。关注隐私、希望尽可能不被人监视的那些人会发现,如果...

uptime 命令介绍

uptime 命令介绍

Linux uptime 命令望名生义,uptime 命令告诉你系统启动up了(运行了)多长时间。这是语法:uptime [options]这个工具的 man 页是这么说的:uptime会在...

详解HTTPS连接过程以及中间人攻击劫持

详解HTTPS连接过程以及中间人攻击劫持

https协议就是http+ssl协议,如下图所示为其连接过程:1.https请求客户端向服务端发送https请求;2.生成公钥和私钥服务端收到请求之后,生成公钥和私钥。公钥相当于是锁,私钥相当于是钥...

使用Docker搭建poste,自建邮件服务器

使用Docker搭建poste,自建邮件服务器

自建邮件服务可以不受发件量限制,批量发件成本更低,但部署相对复杂,而且容易进垃圾箱。不过现在越来越多的服务商已经开发好了产品,支持一键部署等方式,极大降低了部署和使用难度。这次给各位小伙伴安利一款开源...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。