- 1. 安装apache-mpm-worker和php-cgi
- 2. 修改fcgid配置文件以映射php
- <div><span style="color: #000000;"> AddHandler fcgid-script </span><span style="color: #000000;">.</span><span style="color: #000000;">php<br /><br />FCGIWrapper </span><span style="color: #000000;">/</span><span style="color: #000000;">usr</span><span style="color: #000000;">/</span><span style="color: #000000;">lib</span><span style="color: #000000;">/</span><span style="color: #000000;">cgi-bin</span><span style="color: #000000;">/</span><span style="color: #000000;">php5 </span><span style="color: #000000;">.</span><span style="color: #000000;">php</span></div><br /> 1 <div><span style="color: #000000;"> AddHandler fcgid-script </span><span style="color: #000000;">.</span><span style="color: #000000;">php<br /><br />FCGIWrapper </span><span style="color: #000000;">/</span><span style="color: #000000;">usr</span><span style="color: #000000;">/</span><span style="color: #000000;">lib</span><span style="color: #000000;">/</span><span style="color: #000000;">cgi-bin</span><span style="color: #000000;">/</span><span style="color: #000000;">php5 </span><span style="color: #000000;">.</span><span style="color: #000000;">php</span></div><br /> 3. 启用 fcgid 模块
- 4. 在相应的站点启用fcgid
- 5. 重新加载apache配置文件
- 6. 测试 php 已经可以使用
前言
Ubuntu默认安装的apache的mpm是prefork,也就是说是多进程模式。这是比较稳定的模式。但是由于每个并发连接需要使用一个完整 的进程,内存消耗较大,性能上也较差。Apache有很多mpm,我们可以使用worker模式,这是多进程/多线程模式。允许一个进程启用多个线程来接 受并发连接,这大大提高了响应速度和降低了内存使用。
对于php而言,默认的prefork模式使用的是mod_php,这在多进程环境下是性能较好的方式。但是对于多线程模式而言,mod_php就 有问题了,它不支持多线程环境。因此对于我们要使用的mpm-worker而言,需要使用mod_fcgid来访问php-cgi,这样就可以使用php 了。
具体操作如下:
1. 安装apache-mpm-worker和php-cgi
1 |
<div><span style="color: #000000;">sudo apt-get install apache2-mpm-worker libapache2-mod-fcgid php5-cgi php5-cli</span></div><br /> |
2. 修改fcgid配置文件以映射php
1 |
<div><span style="color: #000000;">sudo vi </span><span style="color: #000000;">/</span><span style="color: #000000;">etc</span><span style="color: #000000;">/</span><span style="color: #000000;">apache2</span><span style="color: #000000;">/</span><span style="color: #000000;">mods-available</span><span style="color: #000000;">/</span><span style="color: #000000;">fcgid</span><span style="color: #000000;">.</span><span style="color: #000000;">conf</span></div><br /> |
添加:
1
<div><span style="color: #000000;"> AddHandler fcgid-script </span><span style="color: #000000;">.</span><span style="color: #000000;">php<br /><br />FCGIWrapper </span><span style="color: #000000;">/</span><span style="color: #000000;">usr</span><span style="color: #000000;">/</span><span style="color: #000000;">lib</span><span style="color: #000000;">/</span><span style="color: #000000;">cgi-bin</span><span style="color: #000000;">/</span><span style="color: #000000;">php5 </span><span style="color: #000000;">.</span><span style="color: #000000;">php</span></div><br />
3. 启用 fcgid 模块
1 |
<div><span style="color: #000000;"> AddHandler fcgid-script </span><span style="color: #000000;">.</span><span style="color: #000000;">php<br /><br />FCGIWrapper </span><span style="color: #000000;">/</span><span style="color: #000000;">usr</span><span style="color: #000000;">/</span><span style="color: #000000;">lib</span><span style="color: #000000;">/</span><span style="color: #000000;">cgi-bin</span><span style="color: #000000;">/</span><span style="color: #000000;">php5 </span><span style="color: #000000;">.</span><span style="color: #000000;">php</span></div><br /> |
1 |
<div><span style="color: #000000;">sudo a2enmod fcgid</span></div><br /> |
4. 在相应的站点启用fcgid
修改站点配置文件,在<Directory /var/www>中的Options选项后,添加+ExecCGI。如:
1 |
<div> <span style="color: #000000;"><</span><span style="color: #000000;">Directory </span><span style="color: #000000;">/</span><span style="color: #000000;">var</span><span style="color: #000000;">/</span><span style="color: #000000;">www</span><span style="color: #000000;">/></span><span style="color: #000000;"><br /><br />Options Indexes FollowSymLinks MultiViews </span><span style="color: #000000;">+</span><span style="color: #000000;">ExecCGI<br /><br />AllowOverride None<br /><br />Order allow</span><span style="color: #000000;">,</span><span style="color: #000000;">deny<br /><br />allow from all<br /><br /></span><span style="color: #000000;"></</span><span style="color: #000000;">Directory</span><span style="color: #000000;">></span></div><br /> |
5. 重新加载apache配置文件
1 |
<div><span style="color: #000000;">sudo service apache2 force-reload</span></div><br /> |
(如果没有service命令,可以 sudo apt-get install service 来安装它。)
6. 测试 php 已经可以使用
在 /var/www/ 下建立一个phpinfo.php文件,其内写入
1 |
<div><span style="color: #000000;"><?</span><span style="color: #000000;">php </span><span style="color: #008080;">phpinfo</span><span style="color: #000000;">(); </span><span style="color: #000000;">?></span></div><br /> |
然后打开浏览器访问这个/phpinfo.php就可以知道是否已经可以使用 php 了。