设为首页 收藏本站
查看: 1607|回复: 0

[经验分享] FreeBSD Configure Apache 2.2 PHP with FastCGI mod_fcgi Module

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2015-8-3 09:40:55 | 显示全部楼层 |阅读模式
  http://www.bsdlover.cn/html/86/t-786.html
  
FreeBSD Configure Apache 2.2 PHP with FastCGI mod_fcgi Module
剑心通明 发表于: 2008-4-07 16:29 来源: BSD爱好者乐园


Q. I'd like to switch from mod_php5 to mod_fastcgi. I'm using FreeBSD 7 release along with following software:

+ Apache 2.2
+ PHP as mod_php5
+ MySQL DB 5.1.23 server
How do I configure php as FastCGI server?


A. mod_fcgid has a newprocess management strategy, which concentrates on reducing the numberof fastcgi server, and kick out the corrupt fastcgi server as soon aspossible. It is a binary compatibility alternative to Apache module mod_fastcgi;  so your existing fastcgi programs do not need to be recompiled. mod_fcgid supports suEXEC.
Why run PHP5 as mod_fcgi / mod_fastcgi?FastCGI as has some serious advantages over mod_php5:

  • You can do user level separations. You can enable quotas per user. Limit users by processes and CPU consumption.
  • chroot security call per user possible
  • According to several reports fastcgi works much faster than mod_php and cgi mode.
Step # 1: Install mod_fcgidMake sure your ports are upto date:
# portsanp fetch update
Install mod_fcgid:
# make install clean
Make sure php supports FastCGIMake sure php-cgi binary exists and it is compiled with fastcgi support:
# cd /usr/ports/lang/php5
# make showconfig | grep -i FASTCGI

Output:
FASTCGI=on "Enable fastcgi support (CGI only)"Another way to test fastcgi support, enter:
# /usr/local/bin/php-cgi -v
Output:
/usr/local/bin/php-cgi -v
PHP 5.2.5 with Suhosin-Patch 0.9.6.2 (cgi-fcgi) (built: Mar  6 2008 09:15:41)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
If you don't see word cgi-fcgi, recompile php with fastcgi support by visiting /usr/ports/lang/php5
# cd /usr/ports/lang/php5
# make config
# make install clean
Step # 3: Load mod_fcgi moduleOpen your httpd.conf file located at /usr/local/etc/apache22/ directory:
# vi /usr/local/etc/apache22/httpd.conf
Load mod_fcgi module:
LoadModule fcgid_module libexec/apache22/mod_fcgid.so
Configure mod_fcgi

    AddHandler fcgid-script .fcgi
    FCGIWrapper /usr/local/bin/php-cgi .php
Find your DocumentRoot directory configuration option that read as follows:
Append following two lines:
SetHandler fcgid-script
FCGIWrapper /usr/local/bin/php-cgi .php
Options ExecCGI

At the end configuration should read as follows:
# This should be changed to whatever you set DocumentRoot to.

    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    SetHandler fcgid-script
    FCGIWrapper /usr/local/bin/php-cgi .php
    Options ExecCGI
  Allow from all
Step # 4: Disable mod_php5Find line that read as follows:
LoadModule php5_module        libexec/apache22/libphp5.so
Comment out line:
#LoadModule php5_module        libexec/apache22/libphp5.so
Also make sure following two line (mime type) exists:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Save and close the file.
Step # 5: Restart Apache22Finally, restart apache web server:
# /usr/local/etc/rc.d/apache22 restart
Step # 5: Test mod_fcgiUse following small program to verify mod_fcgi is working properly:
You must see Server API as CGI/FastCGI as well as following screen:
http://bbs.bsdlover.cn/attachments/month_0804/20080407_c64e61b02cc05ec82f32JbmYXPfOnUWi.png
freebsd-php5-cgi-fcgi-mod-fcgi.png

(Fig. 01: PHP5 Configured as FastCGI using mod_fcgi)
最新回复
kof2002 at 2008-5-10 16:10:24
事前安装了FAMP
按照上述的方法作了 但是运行apache出现下面的httpd。conf语法错误提示 说不是一个版本的apache 模块?? 然后我从新更新了apache编译安装 还是不行
请问该怎么办呢?http://bbs.bsdlover.cn/images/smilies/default/sweat.gif http://bbs.bsdlover.cn/images/smilies/default/cry.gif

[ 本帖最后由 kof2002 于 2008-5-10 16:11 编辑 ]
http://bbs.bsdlover.cn/attachments/month_0805/20080510_ad99583dc5715aab9a06yFDtzDDUqci8.jpg
screenshot.jpg
剑心通明 at 2008-5-10 16:34:14
把apache相关的都给deinstall了,把ports更新一下再装试试kof2002 at 2008-5-12 16:05:14
重新卸载安装了 终于搞定了 谢谢 剑心通明了http://bbs.bsdlover.cn/images/smilies/default/lol.gif http://bbs.bsdlover.cn/images/smilies/default/handshake.gif
不知道cgi-fcgi的兼容性如何 语法限制更严格吧?

cgi-fcgi
DirectiveLocal ValueMaster Value
cgi.check_shebang_line11
cgi.fix_pathinfo11
cgi.force_redirect11
cgi.nph00
cgi.redirect_status_envno valueno value
cgi.rfc2616_headers00
fastcgi.logging11

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-93545-1-1.html 上篇帖子: 基于Apache的Svn服务器配置 下篇帖子: RedHat AS3US安装Apache Httpserver、Tomcat、Mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表