LNMP服务器升级维护指南
升级前必须备份所有关键数据,包括数据库(网站数据)、配置文件(Nginx、MySQL、PHP)和网站文件(如/var/www下的项目代码)。可使用以下命令快速备份:
# 备份Nginx配置
sudo cp -r /etc/nginx /etc/nginx_backup
# 备份MySQL数据库(全量备份)
sudo mysqldump -u root -p --all-databases > all_databases_backup.sql
# 备份PHP配置
sudo cp -r /etc/php /etc/php_backup
# 备份网站文件
sudo cp -r /var/www /var/www_backup
同时,检查新版本与现有应用的兼容性(如PHP版本升级后,WordPress、Laravel等框架是否支持),避免因不兼容导致服务中断。
根据Linux发行版选择对应命令,确保获取最新软件包信息:
sudo apt updatesudo yum updatesudo apt install nginx(自动升级到最新稳定版)sudo yum install nginx
升级后验证版本:nginx -v(如显示nginx/1.25.3则表示成功)sudo apt install mysql-server(若使用MariaDB,替换为mariadb-server)sudo yum install mysql-server(或mariadb-server)
升级后重启服务并验证版本:# 重启服务
sudo systemctl restart mysql # 或mariadb
# 验证版本
mysql -V # 显示如`mysql Ver 8.0.33 for Linux on x86_64`
注意:MySQL 8.0及以上版本对SQL语法有调整(如GROUP BY规则),升级前需测试数据库兼容性
sudo apt install php-fpm php-mysql php-cli(根据需求添加扩展,如php-gd、php-mbstring)sudo yum install php php-fpm php-mysqlnd
升级后需修改Nginx配置以指向新PHP版本(如从PHP 7.4升级到8.2):# 编辑Nginx站点配置(如/var/www/site.conf)
sudo nano /etc/nginx/conf.d/site.conf
# 修改fastcgi_pass路径(关键步骤!)
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # 将8.2替换为新版本
include fastcgi_params;
}
# 重启服务
sudo systemctl restart nginx php8.2-fpm # 根据实际版本调整
# 验证PHP版本
php -v # 显示如`PHP 8.2.12 (cli)`
注意:多PHP版本共存时,需通过update-alternatives管理默认版本
sudo systemctl status nginx # 应显示active (running)
sudo systemctl status mysql # 或mariadb
sudo systemctl status php-fpm # 如php8.2-fpm
tail -f /var/log/nginx/error.log
sudo apt autoremovesudo yum autoremovesudo apt update && sudo apt upgrade -ysudo yum update -ytop(CPU/内存)、df -h(磁盘空间)、netstat -tulnp(网络连接)监控系统状态;定期分析Nginx(access.log、error.log)、MySQL(error.log)日志,识别性能瓶颈(如慢查询)ufw或iptables),仅开放必要端口(80/443 for HTTP/HTTPS,3306 for MySQL):sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 3306/tcp
sudo ufw enable
worker_processes(设为CPU核心数)、keepalive_timeout(设为65秒);innodb_buffer_pool_size(设为物理内存的50%-70%)、max_connections(根据并发量调整);php.ini中设置opcache.enable=1,提升PHP执行效率