首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

APACHE-PHP-MYSQL-ZEND 完整編譯安裝指南 (一):CentOS 4.4 基礎環境與 MySQL 5.0.33 編譯優化

     編輯:MySQL 資料庫相關知識

生產環境從源碼編譯安裝 LAMP/Zend 堆疊完整實錄:CentOS 4.4 最小安裝、yum 鏡像優化、系統參數調優、GD2/cronolog/libxml2 依賴庫編譯、MySQL 5.0.33 針對 Intel P4 編譯優化 (修改最大連接數、GCC 參數)、Apache 2.2.4 Worker MPM + 模組靜態編譯 + SSL 支援。

1. CentOS 4.4 安裝與基礎配置

  • DVD 安裝,僅選 FTP Server,不選 Web Server (後續手動編譯 Apache/PHP)
  • 約定路徑:RPM/源碼 /usr/local/src、編譯安裝 /usr/local/xxx、腳本 /usr/local/sbin、MySQL 資料 /var/lib/mysql、Apache 根目錄 /home/www、日誌 /data/logs/www

2. 系統更新與 yum 鏡像優化

# 修改 up2date 鏡像至國內源
vi /etc/sysconfig/rhn/sources
yum centos4-Base https://mirror.be10.com/centos/4/os/$ARCH/
...
up2date -uf  # 全量更新含核心

關閉無用服務 (僅保留 crond, irqbalance[SMP/雙核], microcode_ctl, network, vsftpd, sshd, syslog);修改 /etc/yum.repos.d/CentOS-Base.repo 指向國內鏡像;導入 GPG Key;yum list > /etc/yum.list。

3. 系統參數調優

  • 定時校時:crontab -e 加入 0 23 * * * root /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1
  • TCP 防禦:echo 'net.ipv4.tcp_syncookies = 1' >> /etc/sysctl.conf; sysctl -p
  • vsftpd 配置:禁用匿名、啟用 chroot_list、自訂 banner 隱藏版本

4. 依賴庫編譯安裝

  • GD2:./configure --prefix=/usr/local/gd2 --mandir=/usr/share/man
  • cronolog (Apache 日誌切割):./configure --prefix=/usr/local/cronolog
  • libxml2:./configure --prefix=/usr/local/libxml2

5. MySQL 5.0.33 編譯安裝 (關鍵優化)

  • 修改 sql/mysqld.cc 將 max_connections 預設 100 → 1500
  • GCC 優化參數 (僅限 Intel P4/EM64T):
    CHOST="i686-pc-linux-gnu" \
    CFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" \
    CXXFLAGS="-O3 -msse2 -mmmx -mfpmath=sse -funroll-loops -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer" \
    ./configure --prefix=/usr/local/mysql --localstatedir=/var/lib/mysql \
    --with-comment=Source --with-server-suffix=-Community-Server \
    --with-mysqld-user=mysql --without-debug --with-big-tables \
    --with-charset=latin1 --with-collation=latin1_swedish_ci \
    --with-extra-charsets=all --with-pthread --enable-static \
    --enable-thread-safe-client --with-client-ldflags=-all-static \
    --with-mysqld-ldflags=-all-static --enable-assembler \
    --without-innodb --without-ndb-debug --without-isam
    注意:AMD CPU 勿用此參數,會導致編譯失敗或運行異常。
  • make && make install (耗時較長)
  • 後續初始化:建立 mysql 用戶、mysql_install_db、權限設定、複製 my-medium.cnf、註冊服務、設定 root 密碼

6. Apache 2.2.4 編譯安裝

  • 依序編譯安裝 apr、apr-util (指定 --with-mysql=/usr/local/mysql)
  • Apache 核心配置:
    ./configure --prefix=/usr/local/apache2 \
    --enable-mods-shared=all --enable-deflate=shared \
    --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache \
    --enable-static-support --enable-static-htpasswd --enable-static-htdigest \
    --enable-static-rotatelogs --enable-static-logresolve --enable-static-htdbm \
    --enable-static-ab --enable-static-checkgid \
    --disable-cgid --disable-cgi \
    --with-mpm=worker \
    --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util \
    --enable-ssl --with-ssl=/usr/include/openssl
  • echo '/usr/local/apache2/bin/apachectl start' >> /etc/rc.local

下集將介紹 PHP 5 編譯 (含 Zend Optimizer)、虛擬主機配置、生產環境調優參數。完整系列旨在構建高效能、可維護的生產級 LAMP/Zend 平台。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved