您的位置:首页 > 运维架构 > Apache

在Ubuntu中搭建Apache2模块化或fast-cgi的PHP5环境

2010-12-02 16:37 351 查看
在Ubuntu中搭建Apache2模块化或fast-cgi的PHP5环境

在Ubuntu中搭建一般的LAMP环境实在是太简单的一件事, 只需要

$sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5

就好了(差不多, 如果没记错的话).

然而, 这样搭建出来的LAMP环境, PHP是通过Apache2的mod执行的, 这也就是软件包libapache2-mod-php5的作用. 通过mod执行的PHP有速度快, 方便等诸多优势. 不过现在我就是想要它通过Fastcgi执行. 别问为什麽.

找了好多资料, 奇怪怎麽就没人能说清楚, 真是..... 只好自己总结了

----------------------cut here----------

首先, 删除libapache2-mod-php5, 因为没用了(其实不删也可以,只要不加载相关的模块即可)

$sudo a2dismod php5
$sudo apt-get remove libapache2-mod-php5

安装cgi版的php(自己会支持fcgi的,why?难道fcgi是Apache的功能?只是由它去调用php-cgi来解析php程序?)和apache2的action模块
$sudo apt-get install php5-cgi
$sudo a2enmod actions

下面关键了, 总是出错的就是这了。

在你的虚拟主机配置文件内, 其他标签之外添加这些内容:

ScriptAlias /fcgi-bin /usr/bin #注意:必须要有ScriptAlias这一行!而fcgi-bin可以随便取名,只要跟下面Action里第2个参数的路径一样就可以。而如果省略ScriptAlias这一行,而即使下面指明了正确的php解析器文件路径/usr/bin/php5-cgi也是不行的!

Action php-fastcgi /fcgi-bin/php5-cgi
AddHandler php-fastcgi .php #这里的php-fastcgi必须和上一行的第1个参数一致

#下面这2行可以不要,如果你已经在其它地方配置过
AddType application/x-httpd-php .php

Options FollowSymLinks ExecCGI

然后重启apache2, 完事.



山风点评:看起来上面的怎么也不像是fastcgi,更像是单纯的cgi模式!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: