在Ubuntu上升级Nginx

Nginx发现漏洞需对Nginx的版本进行更新。参考:nginx: Linux packages

查看已安装的 Nginx 版本信息,configure 配置信息

nginx -V

 对老版本 sbin 目录下的 nginx 进行备份:

mv /usr/local/nginx/sbin/nginx   /usr/local/nginx/sbin/nginx.old

 

开始升级Nginx操作:

1、安装先决条件:

sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring

2、导入官方的 nginx 签名密钥,以便 apt 可以验证软件包的真实性。获取密钥:

curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

3、验证下载的文件是否包含正确的密钥:

gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg

输出应包含完整的指纹, 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 如下所示:

pub   rsa2048 2011-08-19 [SC] [expires: 2027-05-24]
      573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid                      nginx signing key <signing-key@nginx.com>

请注意,输出可以包含用于对软件包进行签名的其他密钥。

4、要为稳定的 nginx 软件包设置 apt 存储库,请运行以下命令:

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

如果您想使用主线 nginx 包,请改为运行以下命令:

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx"  | sudo tee /etc/apt/sources.list.d/nginx.list

5、设置仓库固定以优先选择Nginx官方的包而不是分发提供的包:

echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n"  | sudo tee /etc/apt/preferences.d/99nginx

6、安装 nginx,请运行以下命令:

sudo apt update
sudo apt install nginx

 检查升级后的版本

nginx  -V

 重启Nginx服务

service nginx restart

 

posted on 2024-10-12 11:59  ubirdy  阅读(510)  评论(0)    收藏  举报