LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境的版本升级需要谨慎操作,以下是详细的升级步骤和注意事项。
备份重要数据
nginx -v
, php -v
, mysql --version
)检查系统兼容性
选择升级方式
# CentOS/RHEL
sudo yum update nginx
# Ubuntu/Debian
sudo apt update
sudo apt upgrade nginx
# 下载最新稳定版
wget http://nginx.org/download/nginx-x.x.x.tar.gz
tar zxvf nginx-x.x.x.tar.gz
cd nginx-x.x.x
# 使用原有配置参数(可从nginx -V获取)
./configure [原有参数] --with-http_ssl_module --with-http_v2_module
# 编译安装
make
sudo make install
nginx -v
sudo systemctl restart nginx
# CentOS/RHEL
sudo yum update mysql-server
# Ubuntu/Debian
sudo apt update
sudo apt upgrade mysql-server
# CentOS/RHEL
sudo yum update mariadb-server
# Ubuntu/Debian
sudo apt update
sudo apt upgrade mariadb-server
sudo mysql_upgrade -u root -p
sudo systemctl restart mysqld # 或 mariadb
# CentOS/RHEL (需先添加Remi仓库)
sudo yum install php-x.x.x php-fpm php-mysql
# Ubuntu/Debian
sudo apt install php-x.x php-fpm php-mysql
wget https://www.php.net/distributions/php-x.x.x.tar.gz
tar zxvf php-x.x.x.tar.gz
cd php-x.x.x
./configure [原有参数] \
--enable-fpm \
--with-mysqli \
--with-pdo-mysql
make
sudo make install
sudo cp php.ini-production /usr/local/php/php.ini
sudo cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
sudo cp sapi/fpm/www.conf /usr/local/php/etc/php-fpm.d/www.conf
sudo systemctl restart php-fpm
检查所有服务状态
systemctl status nginx
systemctl status mysql/mariadb
systemctl status php-fpm
测试网站功能
查看错误日志
tail -f /var/log/nginx/error.log
tail -f /var/log/php-fpm/error.log
tail -f /var/log/mysql/error.log
Nginx启动失败
nginx -t
PHP扩展缺失
数据库连接问题
502 Bad Gateway错误
如果升级后出现问题,可以: 1. 恢复备份的配置文件 2. 降级软件包版本 3. 恢复数据库备份
建议在非生产环境先测试升级过程,确认无误后再在生产环境执行。