CentOS环境下LNMP版本更新步骤
更新前务必备份所有重要数据,避免操作失误导致数据丢失。需备份的内容包括:
sudo cp -a /etc/nginx /etc/nginx.baksudo mysqldump -u root -p --all-databases > full-backup.sql(或使用mariadb-dump)sudo cp /etc/php.ini /etc/php.ini.baksudo cp -a /var/www /var/www.bak确保系统基础软件包为最新版本,避免依赖冲突:
sudo yum update -y # CentOS 7/8通用
sudo yum install epel-release -y
sudo yum install https://nginx.org/packages/mainline/centos/7/$basearch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm -y
sudo yum update nginx -y
sudo systemctl restart nginx
nginx -v # 查看Nginx版本
sudo mysqldump -u root -p --all-databases > full-backup.sql # MySQL
# 或
sudo mariadb-dump -u root -p --all-databases > full-backup.sql # MariaDB
sudo yum remove mysql mysql-server # MySQL
sudo yum remove mariadb-server mariadb # MariaDB
sudo yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm -y
sudo dnf install https://dev.mariadb.org/get/mariadb80-community-release-el8-1.noarch.rpm -y
sudo yum update mysql-community-server -y # MySQL
sudo yum update mariadb-server -y # MariaDB
sudo systemctl start mysqld # MySQL
sudo systemctl enable mysqld
# 或
sudo systemctl start mariadb # MariaDB
sudo systemctl enable mariadb
sudo mysql_secure_installation # 执行安全设置(如修改root密码、移除匿名用户等)
mysql -V # MySQL
mariadb -V # MariaDB
sudo yum install epel-release -y
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y # CentOS 7
# 或
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y # CentOS 8
sudo yum-config-manager --enable remi-php80 -y
sudo yum update php* -y
sudo systemctl restart php-fpm
php -v # 查看PHP版本
更新完成后,重启Nginx和PHP-FPM以应用新配置:
sudo systemctl restart nginx
sudo systemctl restart php-fpm
检查各组件版本是否符合预期:
nginx -v # Nginx版本
mysql -V # MySQL版本(若使用MariaDB则用mariadb -V)
php -v # PHP版本
sudo yum deplist <package-name>查看依赖关系,手动解决(如移除冲突的旧包)。journalctl -xe或组件日志(如/var/log/nginx/error.log、/var/log/mysqld.log)定位问题。