scaoping 发表于 2015-8-4 11:34:17

在Ubuntu上启用apache worker模式和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




sudo apt-get install apache2-mpm-worker libapache2-mod-fcgid php5-cgi php5-cli
2. 修改fcgid配置文件以映射php




sudo vi /etc/apache2/mods-available/fcgid.conf  
添加:






AddHandler fcgid-script .php
FCGIWrapper /usr/lib/cgi-bin/php5 .php

3. 启用 fcgid 模块




sudo a2enmod fcgid
4. 在相应的站点启用fcgid
  修改站点配置文件,在中的Options选项后,添加+ExecCGI。如:






Options Indexes FollowSymLinks MultiViews +ExecCGI
AllowOverride None
Order allow,deny
allow from all

5. 重新加载apache配置文件

sudo service apache2 force-reload

  (如果没有service命令,可以 sudo apt-get install service 来安装它。)

6. 测试 php 已经可以使用
  在 /var/www/ 下建立一个phpinfo.php文件,其内写入






  然后打开浏览器访问这个/phpinfo.php就可以知道是否已经可以使用 php 了。
页: [1]
查看完整版本: 在Ubuntu上启用apache worker模式和php