Nginx版本更新指南
一 升级方式概览
二 通过包管理器升级 Ubuntu Debian
sudo cp -r /etc/nginx /etc/nginx_backupnginx -v 或 nginx -Vcurl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /etc/apt/keyrings/nginx.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/nginx.gpg] https://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list > /dev/nullsudo apt update && sudo apt install nginxsudo systemctl restart nginxnginx -vsystemctl status nginxapt upgrade nginx 获取稳定版更新。三 通过包管理器升级 CentOS RHEL
sudo cp -r /etc/nginx /etc/nginx_backupnginx -v 或 nginx -Vsudo yum update nginx 或 sudo dnf upgrade nginxsudo systemctl restart nginxnginx -vsystemctl status nginx四 从源码编译升级 平滑升级与快速替换
/usr/local/nginx/sbin/nginx -Vcp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.oldwget -c https://nginx.org/download/nginx-<新版本>.tar.gz && tar -zxvf nginx-<新版本>.tar.gz./configure <旧版本的 configure 参数>make(生成于 objs/nginx)cp objs/nginx /usr/local/nginx/sbin/make upgrade(会执行 nginx -t 并优雅切换)/usr/local/nginx/sbin/nginx -V/usr/local/nginx/sbin/nginx -s stopcp objs/nginx /usr/local/nginx/sbin//usr/local/nginx/sbin/nginx/usr/local/nginx/sbin/nginx -Vcp /usr/local/nginx/sbin/nginx.old /usr/local/nginx/sbin/nginx && /usr/local/nginx/sbin/nginxmake upgrade(会切回旧二进制)五 回滚与安全加固
make upgrade 切回。nginx.conf 的 http 块设置 server_tokens off;--without-http_autoindex_module)ssl_protocols、ssl_ciphers、ssl_prefer_server_ciphersif ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; }