ubuntu 升级nginx的详细步骤(解决高危漏洞,执行补丁脚本太多,容易出错不如升级到高版本)
1.查询服务器版本
cat /etc/os-release
2.查询openssh版本
nginx -v
3.先检查可用更新,然后自动安装所有找到的更新
sudo apt update && sudo apt upgrade -y
4.配置一个具备软件编译能力和处理特定依赖关系的系统环境
sudo apt update && sudo apt install -y build-essential zlib1g-dev libssl-dev libpam0g-dev libselinux1-dev pkg-config curl
5.创建备份目录 为什么新建主要是为了防止升级过程中被删除
sudo mkdir -p /root/nginx_backup
6.备份
6.1 备份 SSH 配置目录
sudo cp -r /etc/nginx /root/nginx_backup/etc_nginx
6.2 备份二进制文件
sudo cp /usr/sbin/nginx /root/nginx_backup/nginx_sbin
6.3 备份日志(可选)
sudo cp -r /var/log/nginx /root/nginx_backup/var_log_nginx
6.4 还原脚本
sudo cp -r /root/nginx_backup_2025-11-12-1030/etc_nginx/* /etc/nginx/
# 恢复二进制
sudo cp /root/nginx_backup_2025-11-12-1030/nginx_sbin /usr/sbin/nginx
sudo chmod 755 /usr/sbin/nginx
# 恢复日志(可选)
sudo cp -r /root/nginx_backup_2025-11-12-1030/var_log_nginx/* /var/log/nginx/
7.下载 Nginx 源码
cd /usr/local/src
wget http://nginx.org/download/nginx-1.23.4.tar.gz
tar zxvf nginx-1.23.4.tar.gz
cd nginx-1.23.4
8.编译安装
8.1 检查系统依赖、生成 Makefile 和编译参数
sudo ./configure \
--prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_ssl_module \
--with-http_v2_module \
--with-stream \
--with-stream_ssl_module
8.2 作用:根据 Makefile 编译 OpenSSH。-j$(nproc) 会使用 CPU 全核并行编译,加快速度。
sudo make -j$(nproc)
8.3 安装
sudo make install
9. 测试配置文件是否有语法错误 一般重新编译不会覆盖已有的配置文件
sudo nginx -t
10.验证
nginx -v 输出
root@lavm-ncjsgo9440:/home# nginx -v
nginx version: nginx/1.23.4
11.重启 nginx 服务
sudo systemctl restart nginx
sudo systemctl status nginx
