Linux LAMP系統更新與維護指南
LAMP(Linux、Apache、MySQL/MariaDB、PHP)是常見的Web服務棧,其更新與維護需圍繞系統穩定性、安全性、性能三大核心展開,以下是具體操作框架:
系統及軟件包更新是修復安全漏洞、提升兼容性的基礎,需根據發行版選擇對應命令:
sudo apt update
;sudo apt upgrade
;sudo apt full-upgrade
;sudo apt autoremove
。sudo yum check-update
(或dnf check-update
);sudo yum update
(或dnf upgrade
);sudo yum autoremove
(或dnf autoremove
)。sudo pacman -Syu
。安全是LAMP系統的核心,需從系統強化、組件配置、訪問控制多維度入手:
sudo useradd -m username && sudo passwd username && sudo usermod -aG sudo username
;sudo ufw allow ssh && sudo ufw allow http && sudo ufw allow https && sudo ufw enable
;sudo setenforce 1
,并通過semanage
配置合理策略。mod_php
,改用php-fpm
),命令:sudo a2dismod mod_php
;設置錯誤日志級別為crit
,避免泄露敏感信息:sudo nano /etc/apache2/apache2.conf
,修改LogLevel crit
;mysql_secure_installation
腳本,完成root密碼修改、匿名用戶刪除、遠程root登錄禁用;限制數據庫用戶權限,遵循“最小權限原則”;eval
、exec
),編輯php.ini
:disable_functions = eval,exec,passthru,shell_exec
;設置open_basedir
限制腳本訪問路徑,如open_basedir = /var/www/html/:/tmp/
。ssh-keygen -t rsa
(生成密鑰)、ssh-copy-id username@server_ip
(復制公鑰);禁用密碼登錄:sudo nano /etc/ssh/sshd_config
,修改PasswordAuthentication no
;限制SSH訪問IP:AllowUsers username@trusted_ip
。性能優化需結合服務器負載調整配置:
/etc/sysctl.conf
,添加/修改以下參數提升網絡性能:net.ipv4.tcp_tw_reuse = 1
(復用TIME-WAIT連接)、net.core.somaxconn = 4096
(增加監聽隊列長度);執行sudo sysctl -p
使配置生效。MaxClients
(并發連接數),根據服務器內存計算(如1GB內存可設為150):sudo nano /etc/apache2/mods-enabled/mpm_prefork.conf
,修改MaxClients 150
;啟用mod_deflate
壓縮靜態內容,減少傳輸體積。innodb_buffer_pool_size
(InnoDB緩沖池大?。?,通常設為物理內存的50%-70%:sudo nano /etc/mysql/my.cnf
,添加innodb_buffer_pool_size = 1G
(1GB內存示例);啟用慢查詢日志,定位性能瓶頸:slow_query_log = 1
、long_query_time = 2
。php.ini
,啟用opcache.enable=1
、opcache.memory_consumption=128
;為靜態內容(圖片、CSS、JS)配置CDN,減輕服務器負載。定期備份是應對數據丟失的關鍵,需覆蓋數據庫、文件、系統三大類:
mysqldump
工具備份MySQL/MariaDB,命令:mysqldump -u root -p --all-databases > /backups/mysql_all_$(date +%F).sql
(全量備份);或備份單個數據庫:mysqldump -u root -p database_name > /backups/dbname_$(date +%F).sql
。rsync
備份網站文件(如/var/www/html
):rsync -avz /var/www/html/ /backups/html_$(date +%F)/
;或使用tar
打包備份:tar -czvf /backups/html_$(date +%F).tar.gz /var/www/html
。tar
創建系統鏡像(排除/proc
、/sys
等虛擬目錄):tar -czvpf /backups/system_$(date +%F).tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/mnt /
。監控與審計能提前預警風險,需關注日志、性能指標:
ErrorLog ${APACHE_LOG_DIR}/error.log
)、MySQL慢查詢日志(slow_query_log_file = /var/log/mysql/mysql-slow.log
);使用logrotate
工具定期歸檔日志,避免日志文件過大:sudo nano /etc/logrotate.d/apache2
,配置每周歸檔并保留4周。top
、htop
監控CPU、內存使用率;使用vmstat 1
監控系統整體性能(如進程、內存、IO);使用netstat -tulnp
監控網絡連接狀態。fail2ban
防止暴力破解,命令:sudo apt install fail2ban
(Ubuntu/Debian);配置/etc/fail2ban/jail.local
,啟用SSH防護:[sshd] enabled = true
。