說明: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 (這一項手工添加)
國內最大的酷站演示中心!新聞熱點
疑難解答