硬體與基礎環境
- CPU:Pentium Pro 以上
- 記憶體:128 MB
- 硬碟:9.2 GB
- OS:RedHat 6.2
核心優化與精簡服務
- 停用並移除
sendmail, apmd, kudzu, nfs-utils 等非必要服務。
- 修改
/usr/src/linux/include/linux/tasks.h 提升 NR_TASKS 至 3072。
Makefile 改用 egcs 編譯器,加入 -O9 -funroll-loops -ffast-math -mcpu=pentiumpro -march=pentiumpro 等優化旗標。
- 執行
make xconfig; make dep; make clean; make bzlilo; make modules; make modules_install 重編核心。
軟體版本與編譯安裝順序
- mm-1.1.3:
./configure --disable-shared --prefix=/usr
- MySQL 3.22.32:
CC=egcs OPTIM="..." ./configure --prefix=/mysql → make install → mysql_install_db → 註冊開機啟動。
- Apache 1.3.12:先
./configure --prefix=/apache (僅產生配置)。
- PHP 4.0.0:
./configure --prefix=/usr --with-apache=../apache_1.3.12 --with-mysql=/mysql --with-mm --enable-inline-optimization ...
- mod_perl 1.24:
perl Makefile.PL EVERYTHING=1 APACHE_SRC=../apache_1.3.12/src USE_APACI=1 DO_HTTPD=1
- Apache 二次編譯:啟用
php4、perl 模組,連結 libphp4.a、libperl.a。
- eperl 2.2.14、Perl 5.6.0 及相關 DBI/DBD 模組依序安裝。
啟動腳本註冊
cp /apache/bin/apachectl /etc/rc.d/init.d/httpd
ln -s ../init.d/httpd /etc/rc.d/rc3.d/S80httpd
cp /mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
ln -s ../init.d/mysql /etc/rc.d/rc3.d/S70mysql
注意事項
- 所有編譯需在對應源碼目錄下進行。
- 若遇
egcs 不存在,請改用 gcc 並調整優化參數。
- 本文針對 RedHat 6.2 與舊版軟體,現代系統建議使用套件管理器 (yum/dnf/apt) 安裝穩定版。