centos

centos lamp环境如何进行版本升级

小樊
40
2025-09-20 07:50:04
栏目: 智能运维

CentOS LAMP环境版本升级指南
LAMP(Linux、Apache、MySQL/MariaDB、PHP)是CentOS系统下的经典Web栈,升级需遵循“备份→系统→数据库→PHP→Apache”的顺序,确保数据安全与兼容性。

一、升级前准备

  1. 备份关键数据
    备份所有重要数据(网站文件、数据库、配置文件),避免升级失败导致数据丢失:

    # 备份网站文件(默认路径/var/www/html)
    tar -czvf /backup/html_backup_$(date +%F).tar.gz /var/www/html
    
    # 备份MySQL/MariaDB数据库(需输入root密码)
    mysqldump -u root -p --all-databases > /backup/all_databases_$(date +%F).sql
    
    # 备份配置文件
    cp -r /etc/httpd /etc/httpd_backup  # Apache配置
    cp -r /etc/my.cnf /etc/my.cnf_backup  # MySQL配置(若使用MariaDB则为/etc/my.cnf.d/server.cnf)
    
  2. 检查当前版本
    确认当前LAMP组件版本,明确升级目标:

    # 查看Apache版本
    apachectl -v
    
    # 查看MySQL/MariaDB版本
    mysql -V
    
    # 查看PHP版本
    php -v
    
  3. 更新系统包
    升级系统基础包至最新稳定版,修复已知漏洞:

    sudo yum update -y
    

二、升级Apache

Apache升级优先使用yum包管理器(简单安全),若需特定版本可选择源码编译。

1. 使用YUM升级(推荐)

# 安装/升级Apache至最新版本
sudo yum install httpd -y

# 重启Apache服务
sudo systemctl restart httpd

# 设置开机自启
sudo systemctl enable httpd

# 验证版本
apachectl -v

2. 手动编译升级(可选)

yum仓库无所需版本,可下载源码编译:

# 备份旧配置
sudo cp -r /etc/httpd /etc/httpd_old

# 下载源码(以2.4.54为例)
wget https://downloads.apache.org/httpd/httpd-2.4.54.tar.gz
tar -zxvf httpd-2.4.54.tar.gz
cd httpd-2.4.54

# 安装依赖
sudo yum groupinstall "Development Tools" -y
sudo yum install apr-devel apr-util-devel pcre-devel -y

# 配置编译选项(调整路径)
./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl --with-included-apr

# 编译安装
make
sudo make install

# 备份旧二进制文件
sudo mv /usr/sbin/httpd /usr/sbin/httpd_old

# 创建符号链接
sudo ln -s /usr/local/apache2/bin/apachectl /usr/sbin/apachectl

# 启动新Apache
sudo /usr/local/apache2/bin/apachectl start

# 验证版本
/usr/local/apache2/bin/apachectl -v
  1. 配置防火墙
    开放HTTP(80)/HTTPS(443)端口:
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
    

三、升级MySQL/MariaDB

1. 使用YUM升级(推荐)

若当前为MySQL,建议迁移到MariaDB(CentOS默认仓库提供,兼容性更好):

# 移除旧版本MySQL(若有)
sudo yum remove mysql mysql-server -y

# 添加MariaDB仓库
sudo yum install epel-release -y
sudo yum install mariadb-server -y

# 启动MariaDB
sudo systemctl start mariadb
sudo systemctl enable mariadb

# 安全配置(设置root密码、移除匿名用户等)
sudo mysql_secure_installation

若需升级到特定MySQL版本(如8.0),需添加MySQL官方Yum仓库:

# 下载MySQL Yum仓库
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

# 启用MySQL 8.0仓库
sudo yum-config-manager --enable mysql80-community

# 安装MySQL
sudo yum install mysql-community-server -y

# 启动MySQL
sudo systemctl start mysqld
sudo systemctl enable mysqld

# 安全配置
sudo mysql_secure_installation
  1. 升级数据库
    升级后运行mysql_upgrade修复表结构兼容性:

    # 登录MySQL
    mysql -u root -p
    
    # 执行升级(需输入密码)
    mysql_upgrade -u root -p
    
    # 退出
    exit
    
  2. 验证版本

    mysql -V  # MySQL
    mariadb -V  # MariaDB
    

四、升级PHP

PHP升级推荐使用Remi仓库(提供多版本支持),避免兼容性问题。

1. 安装Remi仓库

# 安装EPEL仓库(依赖)
sudo yum install epel-release -y

# 安装Remi仓库
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y  # CentOS 7
# sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y  # CentOS 8/Stream

2. 启用目标PHP版本

以升级到PHP 8.1为例:

# 查看可用PHP模块
yum repolist all | grep remi-php

# 启用PHP 8.1模块
sudo yum-config-manager --enable remi-php81

# 安装PHP及常用扩展
sudo yum install php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-curl -y

3. 重启服务

# 重启PHP-FPM(若使用FPM)
sudo systemctl restart php-fpm

# 重启Apache
sudo systemctl restart httpd
  1. 验证版本
    php -v
    

五、验证LAMP环境

创建info.php测试页面,检查组件是否协同工作:

# 创建测试文件
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

# 通过浏览器访问http://服务器IP/info.php,确认:
# - Apache正常响应(页面显示Apache版本)
# - PHP正常解析(显示PHP版本及模块)
# - MySQL/MariaDB连接正常(若配置了数据库连接测试)

升级完成后,建议删除测试文件:

sudo rm -f /var/www/html/info.php

注意事项

  1. 测试环境优先:生产环境升级前,务必在测试环境验证流程,避免业务中断。
  2. 依赖兼容性:升级前检查应用程序对LAMP组件的版本要求(如WordPress、Drupal等CMS的兼容性)。
  3. 逐步升级:建议按“Apache→MySQL→PHP”顺序升级,减少交叉依赖问题。
  4. 监控日志:升级过程中关注/var/log/messages/var/log/httpd/error_log/var/log/mariadb/mariadb.log等日志,及时排查错误。

通过以上步骤,可实现CentOS LAMP环境的稳定升级,保持系统安全性与功能最新性。

0
看了该问题的人还看了