Ubuntu 默认 apt 源中的 Nginx 版本比较旧,今天介绍下如何在 Ubuntu 中安装最新版本的 Nginx。

要安装较新版本的 Nginx, 可以使用 Nginx 的 APT 源。执行如下脚本来添加 Nginx APT 源:

#!/bin/bash

release=$(lsb_release -cs)

cat <<EOF > /etc/apt/sources.list.d/nginx.list
deb https://nginx.org/packages/ubuntu/ $release nginx
deb-src https://nginx.org/packages/ubuntu/ $release nginx
EOF

之后更新 package 信息:

apt update

在执行上面的命令时,可能会遇到类似下面的报错信息:

W: GPG error: https://nginx.org/packages/ubuntu xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABF5BD827BD9BF62

这是因为 APT 源中都会有一个 InRelease 文件[1],里面包含了 package 的 meta-information,通常这个文件都会通过私钥进行签名。在 apt update 命令执行过程中,通过公钥对这个签名做验证。如果本地不存在相应的公钥,就会报上面的错误。此时添加对应的 PUBKEY 就可以了:

apt-key adv --recv-key --keyserver keyserver.ubuntu.com ABF5BD827BD9BF62

之后再次执行 apt update 命令就不会有报错信息了。

更新完 package 信息后,执行如下命令查看所有可用的 Nginx 版本:

$ apt-cache madison nginx
nginx | 1.20.1-1~xenial | https://nginx.org/packages/ubuntu xenial/nginx amd64 Packages
nginx | 1.20.0-1~xenial | https://nginx.org/packages/ubuntu xenial/nginx amd64 Packages
nginx | 1.18.0-2~xenial | https://nginx.org/packages/ubuntu xenial/nginx amd64 Packages
nginx | 1.18.0-1~xenial | https://nginx.org/packages/ubuntu xenial/nginx amd64 Packages
nginx | 1.16.1-1~xenial | https://nginx.org/packages/ubuntu xenial/nginx amd64 Packages
nginx | 1.16.0-1~xenial | https://nginx.org/packages/ubuntu xenial/nginx amd64 Packages
nginx | 1.14.2-1~xenial | https://nginx.org/packages/ubuntu xenial/nginx amd64 Packages
nginx | 1.14.1-1~xenial | https://nginx.org/packages/ubuntu xenial/nginx amd64 Packages
nginx | 1.14.0-1~xenial | https://nginx.org/packages/ubuntu xenial/nginx amd64 Packages
...

执行 apt install nginx 命令,默认会安装最新的 Nginx 版本(或将已安装的Nginx升级到最新版本)。

如果想要安装特定版本的 Nginx, 可以指定对应的版本号,例如:

apt install nginx=1.18.0-2~xenial

Ubuntu: 升级或安装最新版本的 Nginx的更多相关文章

  1. Ubuntu 14.04 安装最新稳定版Nginx 1.6.0

    如果已经安装,请先卸载sudo apt-get remove nginx最新的稳定版Nginx 1.6.0在ubuntuupdates ppa库中提供,网址http://www.ubuntuupdat ...

  2. Ubuntu 16.04 安装最新稳定版Nginx 1.6.0

    Ubuntu 16.04 默认安装的是nginx 1.14.0 #默认安装方式:apt-get  install nginx   1.查看是否安装nginx,如果已经安装,请先卸载 #查看安装版本 d ...

  3. Ubuntu 12.04 安装最新版本NodeJS

    昨天搭建了一个Windows NodeJS 运行环境,但Windows 运行NodeJS命令行各种别扭,开源包的编译也是各种问题,折磨了我一天一夜,果断换到Linux 平台.. 我选择了Ubuntu ...

  4. ubuntu升级已安装git版本

    # To get the very latest version of git, you need to add the PPA (Personal Package Archive) from the ...

  5. [Angular] 删除旧版本,升级安装最新版本

    目录 删除旧版本 清除未卸载干净的angular-cli缓存 对于Linux 对于Windows 安装最新版本 查看安装版本 创建新项目 删除旧版本 npm uninstall -g angular- ...

  6. 如何升级centos到最新版本

    本文将教你如何升级centos到最新版本.centos中“update”命令可以一次性更新所有软件到最新版本.注意:不推荐使用update的y选项,-y选项会让你在安装每项更新前都进行确认(译者注:这 ...

  7. centos7 升级内核到最新版本

    centos7 从问世以来,官网提供的镜像始终是3.10 版本,该版本最大的一个问题是对硬件驱动(尤其是无线网卡)的支持不是很好,本人亲测>5种机型,无线网卡均无法正常使用,如果是非主流机型,手 ...

  8. angular4.0 安装最新版本的nodejs、npm、@angular/cli的方法

    在使用ng项目的ui框架时,比如ng-zorro.angular Material,需要安装最新版本的@angular/cli: 配置ng-zorro框架 ng-zorro官网:https://ng. ...

  9. 如何在Centos7下升级Apache至最新版本

    Apache是使用最广泛的应用部署软件.并且它也是所有服务器的必要组成部分.安装最新版本的apache意味着拥有更多最新的功能和修复了已知的BUG. 介绍 在这篇教程里面,我将会介绍在Centos7下 ...

  10. Ubuntu16.04下安装最新版本的CMake

      当前最新版CMake为3.9.1.. Ubuntu中更新cmake到最新版本,过程如下: 1. 卸载已经安装的旧版的CMake[非必需] apt-get autoremove cmake 2. 文 ...

随机推荐

  1. DRF排序

    排序 对于列表数据,REST framework提供了OrderingFilter过滤器来帮助我们快速指明数据按照指定字段进行排序. 使用方法: 在类视图中设置filter_backends, 使用 ...

  2. element+Vue el-form组件进行查询时,当输入框仅有一项时,回车自动提交表单,浏览器会刷新页面

    vue的写法就是el-form上添加阻止默认事件 @submit.native.prevent <el-form ref="queryForm" label-width=&q ...

  3. 2021年全国II巻高考作文刚刚认真看了一下发现很经典,用漫画书法的形式告诉做人的道理!!!说说自己的想法

    我觉得做人就应该做到这三句话: 1.逆风起笔 藏而不露    ---- 懂得在逆境中潜行 2.中锋用笔 不偏不倚   ---- 做人要正直  不要走歪路 3.停滞迂回  缓缓出头 --   借喻青年人 ...

  4. XCZU19EG板卡设计资料:610-基于6U VPX 的FPGA XCZU19EG存储阵列

    基于6U VPX 的FPGA XCZU19EG存储阵列 一.板卡概述         高性能存储板基于标准6U VPX架构,是基于Xilinx UltraScale+ 系列FPGA XCZU19EG架 ...

  5. input type='number' 去除小箭头 clear arrow

    input type='number' 去除小箭头 两种方法 方法一 For chrome, Safari, Edge, Opera : input::-webkit-outer-spin-butto ...

  6. CodeGym自学笔记03——变量、数据类型

    变量 变量是用来存储数据的特殊实体. 1.在 Java 语言中,所有数据都存储在变量中. 2.最接近的比喻就好比是一个盒子. 3.在 Java 语言中,每个变量都有三个重要的属性:类型.名称和值. - ...

  7. Python 获取磁盘使用

    import psutil def get_disk_info(): content = "" for disk in psutil.disk_partitions(): if ' ...

  8. springmvc引入swagger2

    swagger2 简介 ​ API Developmentfor Everyone. ​ Simplify API development for users, teams, and enterpri ...

  9. JavaScript 数字与字符串的加减乘除运算

    点击跳转 Tips: 除开字符串 + 数字的运算,会产生级联,其他情况下会将 String 转为 number 再进行数字运算. js 运算是从左到右的,所以一步一步来,不要跳步进行运算.

  10. QT 使用QDomDocument::setContent()读XML文件总是返回false

    代码: if(!doc.setContent(&file)){读取失败操作}发现总是返回false: 使用如下代码调试: if(!doc.setContent(&file,&s ...