LNMP (Linux, Nginx, MySQL/MariaDB, PHP) 环境的软件包更新需要谨慎操作,以避免服务中断或兼容性问题。以下是详细的更新方法:
首先更新系统基础软件包:
# CentOS/RHEL
sudo yum update -y
# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
# CentOS/RHEL
sudo yum update nginx
# Ubuntu/Debian
sudo apt install --only-upgrade nginx
# 查看当前版本
nginx -v
# 下载最新源码包
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 [原有参数]
make
sudo make install
# CentOS/RHEL
sudo yum update mysql-server
# Ubuntu/Debian
sudo apt install --only-upgrade mysql-server
# CentOS/RHEL
sudo yum update mariadb-server
# Ubuntu/Debian
sudo apt install --only-upgrade mariadb-server
重要提示:数据库更新前必须备份数据!
# CentOS/RHEL
sudo yum update php php-fpm php-mysql
# Ubuntu/Debian
sudo apt install --only-upgrade php php-fpm php-mysql
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt upgrade php
# 更新Redis
sudo apt install --only-upgrade redis-server
# 或
sudo yum update redis
# 更新Memcached
sudo apt install --only-upgrade memcached
# 或
sudo yum update memcached
重启服务:
sudo systemctl restart nginx
sudo systemctl restart mysql # 或 mariadb
sudo systemctl restart php-fpm
验证版本:
nginx -v
mysql --version
php -v
检查日志:
journalctl -xe
tail -f /var/log/nginx/error.log
tail -f /var/log/php-fpm/error.log
可以设置自动安全更新(仅推荐安全更新):
# Ubuntu/Debian
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
# CentOS/RHEL
sudo yum install yum-cron
sudo systemctl enable yum-cron
sudo systemctl start yum-cron
对于生产环境,建议手动控制更新过程以确保稳定性。