Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

RHEL 5.4 手動部署 LNMP 生產環境:Nginx 1.0 + PHP 5.2.17 (FastCGI) + MySQL 5.1.40 完整實戰

編輯:Linux 教學

雖然 RHEL 5.4 已停止維護,但許多舊系統仍在運行。本文記錄從原始碼編譯安裝高效能 LNMP 堆疊的完整過程,涵蓋套件下載、依賴庫建置、PHP-FPM 修補、多種加速器選擇與 MD5 校驗,適合需維護舊版環境或學習原始碼部署細節的工程師參考。

一、 來源碼套件下載與驗證

建立工作目錄 /soft/diy,使用 wget 逐一下載。關鍵套件清單:

  • Web 伺服器:nginx-1.0.0.tar.gz
  • PHP 核心:php-5.2.17.tar.bz2
  • PHP-FPM 修補:php-5.2.17-fpm-0.5.14.diff.gz(官方 PHP 5.2 無內建 FPM,需打補丁)
  • 資料庫:mysql-5.1.40.tar.gz
  • 字元集轉換:libiconv-1.13.1.tar.gz
  • 常用 PHP 擴展:memcache、imagick(需 ImageMagick)、PDO、PDO_MYSQL
  • PHP 加速器四選一:eAccelerator、Zend Optimizer、APC、XCache

務必對照 MD5 校驗碼(文中附有完整清單),防止下載損毀或被竄改。

二、 系統環境預備

  1. 移除衝突套件:rpm -qa | egrep 'httpd|mysql|php' → yum remove 移除。
  2. 安裝編譯工具鏈與開發庫:
    yum -y install patch make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal nano sendmail fonts-chinese gettext gettext-devel gmp-devel pspell-devel unzip

三、 核心依賴庫建置(順序嚴禁錯亂)

  1. libiconv:./configure --prefix=/usr/local && make && make install
  2. libmcrypt:./configure && make && make install → 進入 libltdl/ 目錄 ./configure --enable-ltdl-install && make && make install → ldconfig
  3. mhash:./configure && make && make install
  4. 建立動態連結庫軟連結至 /usr/lib:
    ln -s /usr/local/lib/libmcrypt.{la,so,so.4,so.4.4.8} /usr/lib/
    ln -s /usr/local/lib/libmhash.{a,la,so,so.2} /usr/lib/

後續仍需編譯安裝 libmcrypt、mcrypt、freetype、libpng、libjpeg、libxml2、openssl、curl 等,再進行 PHP 本體編譯(含 --enable-fpm、--with-mysql、--with-gd、--enable-mbstring 等參數)、Nginx 編譯(--with-http_ssl_module、--with-http_gzip_static_module 等)、MySQL 編譯安裝與初始化資料庫。

四、 關鍵避坑指南

  • PHP-FPM 補丁適用性:僅限 PHP 5.2.17,版本不符會打補失敗。
  • libiconv 版本陷阱:1.13.1 下載極慢,文中改用 1.13 版成功編譯。
  • 加速器只能二擇一:eAccelerator、Zend Optimizer、APC、XCache 同時啟用會衝突,生產環境建議 APC 或 XCache。
  • MySQL 官網需登入:文中使用備用下載點,生產環境請確認來源可信。

五、 後續必要配置(略)

安裝完成後仍需:
1. 配置 php-fpm.conf(進程管理模式、慢日誌、權限)
2. 編寫 nginx.conf 虛擬主機、FastCGI 參數、靜態資源快取
3. MySQL my.cnf 調優(InnoDB buffer pool、查詢快取、連線數)
4. 建立啟動腳本加入 chkconfig、配置 logrotate 日誌切割
5. 防火牆開放 80/443/3306、SELinux 設定或暫時關閉

六、 結語

原始碼部署雖繁瑣,卻能精確控制版本、編譯參數與安裝路徑,是理解 Linux 軟體堆疊運作的最佳練習。現代生產環境建議改用 Ansible、Docker 或編譯好的 RPM/DEB 套件管理,但掌握原始碼安裝細節,仍是高階運維排錯的基本功。

Copyright © Windows教程網 All Rights Reserved