


Linux系統上把PHP編譯進Apache靜態內核
說明: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 (這一項手工添加)
關鍵詞:apache php 內核
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解