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。