CentOS LAMP升级流程及注意事项
升级前务必备份所有重要数据(如网站文件、数据库、配置文件),防止更新过程中因意外导致数据丢失。可使用tar命令打包网站目录(如/var/www/html),或通过mysqldump导出数据库。
确认CentOS版本(如7.x/8.x)与目标LAMP组件版本兼容,避免因版本不匹配导致升级失败。例如,CentOS 7需使用yum包管理器,CentOS 8及以上需使用dnf。
运行sudo yum makecache更新本地软件包索引,确保能获取到最新的软件包信息。
运行sudo yum update -y将系统基础软件包(如内核、glibc)升级至最新稳定版,修复已知漏洞并提升系统稳定性。
使用yum安装或升级Apache至最新版本:sudo yum install httpd -y。
启动Apache服务并设置开机自启:sudo systemctl restart httpd;sudo systemctl enable httpd。
运行sudo systemctl status httpd,确认服务运行正常(显示“active (running)”)。
CentOS默认使用MariaDB(MySQL分支),运行sudo yum install mariadb-server -y安装或升级至最新版。
启动MariaDB服务并设置开机自启:sudo systemctl start mariadb;sudo systemctl enable mariadb。
执行sudo mysql_secure_installation,完成以下安全配置:设置root用户密码、删除匿名用户、禁止root远程登录、移除测试数据库。
根据应用需求选择PHP版本(如PHP 7.4/8.0),运行sudo yum install php php-mysql -y安装或升级PHP及MySQL扩展。
升级完成后,重启Apache服务以加载新PHP模块:sudo systemctl restart httpd。
若系统启用了防火墙(firewalld),需开放HTTP(80端口)和HTTPS(443端口)流量,允许外部访问Web服务:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
在Apache默认网站目录(/var/www/html)下创建info.php文件,内容为<?php phpinfo(); ?>:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
通过浏览器访问服务器IP地址(如http://your_server_ip/info.php),若显示PHP信息页面(包含版本、模块等信息),则说明LAMP环境升级成功。
确认Apache、数据库、PHP服务均正常运行,无报错日志(可通过journalctl -xe或查看/var/log/httpd/error_log、/var/log/mariadb/mariadb.log排查问题)。
若升级过程中未自动清理旧版本软件包,可手动运行sudo yum autoremove移除无用依赖,释放磁盘空间。
升级后密切监控系统资源(CPU、内存、磁盘)使用情况,以及Web应用响应速度,确保新版本性能符合预期。
建立定期更新机制,及时应用安全补丁,降低系统安全风险。