/etc/nginx/nginx.conf
、/etc/nginx/sites-available/
目录)及网站数据,防止升级过程中配置丢失或损坏。可使用sudo cp -r /etc/nginx /backup/nginx-$(date +%Y%m%d)
命令备份配置目录。sudo apt update && sudo apt upgrade
更新Ubuntu系统及已安装软件包,确保依赖关系兼容,避免升级冲突。nginx.org/en/CHANGES
),关注重大变更(如指令语法调整、模块废弃)。sudo apt install nginx
直接升级到官方仓库的最新稳定版,操作简单且自动处理依赖关系。升级后运行sudo nginx -t
测试配置文件语法,再用sudo systemctl restart nginx
重启服务。wget https://nginx.org/download/nginx-x.x.x.tar.gz
),解压后执行./configure
(需匹配旧版本的编译参数,可通过nginx -V
获取)、make
、sudo make install
。升级前需备份旧版本二进制文件(如/usr/sbin/nginx
),避免编译失败导致服务中断。sudo /usr/local/nginx/sbin/nginx
),然后向旧版本主进程发送WINCH
信号(kill -WINCH 旧主进程ID
),等待旧worker进程处理完现有请求后自动退出。最后用nginx -s reload
让新主进程加载新配置,完成平滑升级。nginx -v
确认版本号,通过ps aux | grep nginx
检查新旧进程是否共存(平滑升级后旧worker会逐步退出),并用curl -I http://localhost
测试网站响应状态。sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
安装常用依赖库(如PCRE、zlib、OpenSSL),防止编译时因缺少库文件报错(如error: the HTTP rewrite module requires the PCRE library
)。./configure --add-module=/path/to/module && make && sudo make install
),并将模块配置添加到nginx.conf
中。sudo cp /usr/sbin/nginx /backup/nginx-old
)和配置文件(sudo cp -r /etc/nginx /backup/nginx-config
),若新版本出现问题,可通过sudo cp /backup/nginx-old /usr/sbin/nginx && sudo nginx -s reload
快速回滚到旧版本。sudo apt install nginx=旧版本号
(如sudo apt install nginx=1.18.0-0ubuntu1~20.04
)降级到指定版本,然后用sudo apt-mark hold nginx
锁定版本,避免意外升级。sudo nginx -t
检查配置文件语法,避免因配置错误导致服务无法启动。sudo systemctl status nginx
检查Nginx服务是否运行正常,通过sudo systemctl status mysql
(或MariaDB)、sudo systemctl status php-fpm
检查关联服务状态。top
、htop
)、Nginx响应时间(wrk
、ab
)及错误日志(/var/log/nginx/error.log
),及时发现并解决性能瓶颈或异常问题。