歡迎您光臨本站 註冊首頁

Linux系統上把PHP編譯進Apache靜態內核

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
   

說明: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 (這一項手工添加)

(責任編輯:A6)



[火星人 ] Linux系統上把PHP編譯進Apache靜態內核已經有310次圍觀

http://coctec.com/docs/net/show-post-68369.html