首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

LNMP 環境自動化安裝 Shell 腳本:一鍵部署生產級架構

     編輯:PHP 綜合知識

手動編譯 LNMP 組件耗時且易出錯。本文提供一個完整的 Bash 自動化安裝腳本,涵蓋依賴環境準備、MySQL、PHP、Nginx、Memcached、eAccelerator、ImageMagick 等組件的編譯安裝與配置,支援選單式操作與狀態管理。

腳本核心功能

  • 互動式選單:安裝、查看端口、啟動/關閉服務、回滾、備份/還原
  • 自動解決依賴:yum 安裝編譯工具鏈與系統庫
  • 版本鎖定:MySQL 5.5.19、PHP 5.2.17 (含 FPM 補丁)、Nginx 1.2.1
  • 完整擴展:Memcache、eAccelerator、PDO_MYSQL、ImageMagick、imagick
  • 配置優化:php-fpm 進程池、eAccelerator 快取、使用者/權限隔離

關鍵安裝流程節錄

1. 系統依賴與編譯工具鏈

#!/bin/bash
yum -y install gcc gcc-c++ autoconf libjpeg-devel libpng-devel \
    freetype-devel libxml2-devel zlib-devel glibc-devel \
    openssl-devel curl-devel pcre-devel libevent-devel

2. MySQL 5.5.19 CMake 編譯

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
    -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DMYSQL_DATADIR=/var/mysql/data -DMYSQL_USER=mysql
make && make install

3. PHP 5.2.17 + FPM 補丁編譯

# 套用 FPM 補丁
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc \
    --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config \
    --with-iconv-dir=/usr/local --enable-fpm --with-fpm-user=www --with-fpm-group=www \
    --enable-mbstring --with-gd --with-openssl --with-mhash --enable-zip
make ZEND_EXTRA_LIBS='-liconv' && make install

4. Nginx 1.2.1 + PCRE 8.31 編譯

cd pcre-8.31 && ./configure && make && make install
cd ../nginx-1.2.1
./configure --user=www --group=www --prefix=/usr/local/nginx \
    --with-http_stub_status_module --with-http_ssl_module
make && make install

腳本特色功能

功能實現方式
服務管理chkconfig 註冊 systemd/init.d 服務,支援開機自啟
配置模板化sed 批量修改 php-fpm.conf、my.cnf、nginx.conf 關鍵參數
安全加固建立 www 低權限用戶、目錄權限隔離、ulimit 限制
擴展模組PDO_MYSQL、imagick、eAccelerator 自動編譯安裝

使用建議

  1. 在測試環境先行驗證腳本完整性
  2. 根據實際業務調整版本號與編譯參數
  3. 生產環境建議改用 Ansible、Docker 等現代化部署工具
  4. 定期更新基礎軟體版本修補安全漏洞

完整腳本內容較長,建議保存為 install_lnmp.sh 並賦予執行權限後使用。

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