Ubuntu下Nginx更新升级注意事项
sudo mysqldump -u root -p --all-databases > full-backup.sql),以及Nginx配置文件(sudo cp -r /etc/nginx /etc/nginx_backup、sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak),防止升级过程中数据丢失或配置错误。sudo apt update && sudo apt upgrade -y。nginx -v查看Nginx主版本,nginx -V查看详细编译参数(如依赖库版本、编译选项),为后续兼容性检查提供依据。sudo apt list --installed | grep -E 'pcre|zlib|openssl|libxml2'查看现有版本,若不兼容需提前升级依赖库。/etc/nginx/sites-available/下的站点配置、/etc/nginx/conf.d/下的额外配置),需完整备份,避免升级后配置丢失。curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null;echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list;/etc/apt/preferences.d/99nginx文件将Nginx官方包优先级设为900,高于系统默认源。sudo /usr/sbin/nginx -V;wget http://nginx.org/download/nginx-x.x.x.tar.gz && tar zxvf nginx-x.x.x.tar.gz;./configure(使用旧版本的编译参数)、make(编译生成新二进制文件,勿执行make install);mv /usr/sbin/nginx /usr/sbin/nginx.bak;cp objs/nginx /usr/sbin/nginx;sudo nginx -t;sudo nginx -s reload,完成新旧进程切换(老进程处理完现有请求后退出)。sudo apt install --only-upgrade nginx,系统会自动处理依赖关系并完成升级。nginx -v和nginx -V确认Nginx版本已更新,且编译参数符合预期。sudo nginx -t检查配置文件语法是否正确,避免因配置错误导致服务无法启动。sudo systemctl status nginx确认Nginx服务运行状态(应为active (running)),若有异常需查看日志(journalctl -u nginx -xe)排查问题。curl命令测试接口,验证Nginx核心功能(如HTTP/HTTPS服务、反向代理、负载均衡)是否正常,同时检查自定义配置(如重定向、缓存)是否生效。sudo apt install libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev),并重新编译Nginx(若有自定义编译需求)。