首页 » SEO优化 » php56技巧_Apache运用fcgi办法与PHP结合

php56技巧_Apache运用fcgi办法与PHP结合

访客 2024-10-23 0

扫一扫用手机浏览

文章目录 [+]

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

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

php56技巧_Apache运用fcgi办法与PHP结合

FPM先容

php56技巧_Apache运用fcgi办法与PHP结合
(图片来自网络侵删)

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

与编译为apache模块不同的是:

删除选项 --with-apxs2=/usr/local/httpd24/bin/apxs

添加选项 --enable-fpm //启用php

--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.inichown :php /etc/php.inimkdir /etc/php.d;chown :php /etc/php.dcp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpmchmod +x /etc/rc.d/init.d/php-fpm

2.编辑fpm配置文件

cd /usr/local/php56/etc/cp -p php-fpm.conf.default php-fpm.confvim php-fpm.conf //此配置文件的路径定义在启动脚本中,如需修正可自定义

取消如下项前的;注释符

pid = run/php-fpm.pid//配置pid文件的位置,默认前缀是/usr/local/php56/var,应与启动脚本中设置的同等

看到有文章要配置进程数量等等,更多内容参考fpm配置文档吧,不得不说现在php的中文文档至心不错,这里我就利用dynamic了,

对付我这个菜鸟用来玩玩的话已经够了,不用配置了,保存退出吧。

3.启用fpm

service php-fpm start

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

Starting php-fpm donetcp 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这个模块前面的#注释符并添加如下内容:

ProxyPassMatch ^/(.\.php(/.)?)$ fcgi://127.0.0.1:9000/path/to/webroot/$1 //根据自己的网站目录修正途径

然后重启apache测试,落成。

标签:

相关文章

微信跳转微信支付便捷支付体验的秘密武器

移动支付已成为人们日常生活中不可或缺的一部分。作为我国领先的社交平台,微信支付凭借其便捷、安全的支付方式,深受广大用户的喜爱。而微...

SEO优化 2025-02-18 阅读0 评论0

探寻会计科目代码背后的奥秘分类与

会计科目代码是会计信息系统中不可或缺的组成部分,它将企业的经济活动进行分类和归纳,为会计核算、财务分析和决策提供重要依据。本文将从...

SEO优化 2025-02-18 阅读0 评论0