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. Python爬取亚马逊商品页面

    仍然利用Requests库来实现 1 import requests 2 r=requests.get('https://www.amazon.cn/gp/product/B01M8L5Z3Y') 3 ...

  2. VUE学习-插槽

    插槽 匿名插槽 子组件设置匿名插槽 <script type="text/x-template" id="custom-comp"> <div ...

  3. oralce 语句指定的转换无效

    公司的小师妹出现了个问题   让我帮忙看一下 在plsql 中查询语句没问题, 但是放到程序中会提示指定的转换无效  是因为存在无限小数  加上round(JJYHL,2) JJYHL就可以了

  4. Docker上安装MSSQL(SQL Server)

    ​ Mac OS X ,想安装微软的mssql-server数据库有三种方式: 第一种是在本机上安装MSSQL for Linux 版本. 第二种是安装Windows虚拟机,然后在虚拟机里面使用ISO ...

  5. 解决Idea 中Java编译器的版本自动变成1.5的问题

    可在pom文件中加入以下配置: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins ...

  6. echarts:双y轴图表刻度均匀分布问题

    今天分享一个小问题,内容不多. 双y轴图表中,为了图表的美观,经常会隐藏一侧的y轴刻度线,仅显示一侧的刻度线.那么问题就来了,两个y轴的数据数值大小不同,常常会导致刻度线的刻度分布不均匀,该如何解决呢 ...

  7. HCIP-进阶实验05-Eth-Trunk配置部署

    HCIP-进阶实验06-Eth-Trunk配置部署 1 实验需求 1.1 实验拓扑 1.2 实验环境说明 无 1.3 实验需求 本实验共采用3台三层交换机.1台路由器.认真分析实验需求,明确每步考查的 ...

  8. #pragma 小节

    (1)#pragma startup function-name <priority> (2)#pragma exit function-name <priority>   含 ...

  9. js,php中的面向对象

    面向对象 js中的面向对象: 面向对象(OOP):通过函数封装得到的一个类 1.类的本质还是函数 每个类(函数)天生有一个prototype的属性,这个prototype又是一个对象,这个对象里有个c ...

  10. java常用、通用代码或配置

    pom.xml 支持springBoot parent <parent> <groupId>org.springframework.boot</groupId> & ...