说明:apache整合php有两种方式:一种是dso模式,把php当作apache的外部模块来调用,这样增加了apache的灵活性,但会带来5%的性能降低;另一种方式是把php编译进apache的内核,这样牺牲了以后调整的灵活性(每次对php的重新编译,都需要再次编译apache),但性能会高一些。对perl也是如此。相比之下,本人更愿意使用第二种方式,即把php编译进apache的静态内核。
一.编译apache:
1. 进入apache展开目录;
2. ./configure - -prefix=/usr/local/apache1.3 - -disable-module=all/
- -enable-module=access - -enable-module=log_config /
- -enable-module=dir - -enable-module=mime / ##apache工作的基本模块
(说明:如果以后使用dso方式,则编译时加上 - -enable-mdule=so)
二.安装php:
1. 进入php展开目录;
2. ./configure - -prefix=/usr/local/php4 /
- -with-apache=../apache_1.3.27 ##这里指定apache的源代码目录
3. make;make install
三.安装apache:
1. 进入apache展开目录;
2. ./configure - -prefix=/usr/local/apache1.3 - -disable-module=all /
- -enable-module=access - -enable-module=log_config /
- -enable-module=dir - -enable-module=mime /
- -activate-module=src/modules/php4/libphp4.a ##把php模块编译进去
3. make;make install
四。配置apache:
修改httpd.conf文档:
1.timeout 300--->timeout 120
2.maxkeepaliverequests 100
3.keepalivetimeout 5
4.serversignature on--->serversignature off
5.options indexes followsymlinks 行把indexes删掉(目录的options不要带index选项)
6.将apache运行的用户和组改为nobody
7.maxclients 150——>maxclients 1500
(该参数是多少有一个基本的算法,例如2g的机器,一个apache+php进程大概消耗4m内存,则最高效率的进程数为2g/4m * 2=1000,最大进程数为1000*1.5=1500;1.3下要调整到高于256须在编译apache前修改其源代码)
(对apache2.0版本,将worker mpm字段里的maxclients 150——>maxclients 1500)
8.directoryindex index.html index.html.var 后面加上index.php
9.查找包含大量addtype命令的小节,添加下面这一行: addtype application/x-httpd-php .php
apache版本:apache-2.0.47
php版本:php-4.3.2
a.安装apache:
进入apache安装目录;
./configure - -prefix=/usr/local/apache2 - -enable-so
make;make install
b.安装php:
进入php安装目录;
./configure - -prefix=/usr/local/php4 -
-with-apxs2=/usr/local/apache2/bin/apxs
make;make install
c.配置apache:
修改httpd.conf,上述配置工作照做;
另外修改的地方:
loadmodule php4_module modules/libphp4.so (这一项在装完php后会自动添加)
addtype application/x-httpd-php .php (这一项手工添加)
国内最大的酷站演示中心!新闻热点
疑难解答