资讯专栏INFORMATION COLUMN

Ubuntu 14.04 升级 nginx 遇到的问题

MartinHan / 3007人阅读

摘要:最近在腾讯云上配置支持的时候遇到问题查看版本要升级以上才支持但是通过并没有更新看了一下文件内容全是腾讯云内部的源,应该是没有同步最新的版本随便搜了一个英文博客说要往里加入当时无脑就照着加入了,结果报错后来才发现原来那个博客直接抄

最近在腾讯云上配置 nginx 支持 HTTP 2.0 的时候遇到问题

nginx: [emerg] invalid parameter "http2" in /etc/nginx/sites-enabled/...

nginx -v 查看版本:

nginx version: nginx/1.4.6 (Ubuntu)

要升级 nginx 1.9.5 以上才支持 HTTP 2.0

但是通过 apt-get install nginx 并没有更新

nginx is already the newest version.

看了一下 /etc/apt/sources.list 文件内容全是腾讯云内部的源,应该是没有同步最新的版本

Google 随便搜了一个英文博客说要往 sources.list 里加入

deb http://nginx.org/packages/mainline/ubuntu/ codename nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ codename nginx

当时无脑就照着加入了,结果 apt-get install nginx 报错

Err http://nginx.org codename/nginx Sources
  404  Not Found [IP: 206.251.255.63 80]
Err http://nginx.org codename/nginx amd64 Packages
  404  Not Found [IP: 206.251.255.63 80]
Err http://nginx.org codename/nginx i386 Packages
  404  Not Found [IP: 206.251.255.63 80]
Ign http://nginx.org codename/nginx Translation-en
W: Failed to fetch http://nginx.org/packages/debian/dists/codename/nginx/source/Sources  404  Not Found [IP: 206.251.255.63 80]
...

后来才发现原来那个博客直接抄了 http://nginx.org/en/linux_pac... 上的内容但是并没有像原文那样做说明,其实应该这么做

1 . 先添加源信任签名文件

wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key

2 . 编辑 /etc/apt/sources.list 在最后加入

deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx

其中,这个没有包含 mainline 的地址是稳定版(推荐用稳定版,当然加上 mainline 保持最新也无所谓);trusty 是 Ubuntu 14.04 的代号,其他版本或者系统就要自己去 http://nginx.org/en/linux_pac... 看了

3 . 可以安装了

sudo apt-get update
sudo apt-get clean && apt-get install nginx

4 . 如果再次按照遇到这个错误

Unpacking nginx (1.10.2-1~trusty) over (1.4.6-1ubuntu3.7) ...
dpkg: error processing archive /var/cache/apt/archives/nginx_1.10.2-1~trusty_amd64.deb (--unpack):
 trying to overwrite "/etc/default/nginx", which is also in package nginx-common 1.4.6-1ubuntu3.7
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

可以先删除之前的版本再安装,删除之前注意备份 /etc/nginx/ 下的配置文件

sudo apt-get purge nginx nginx-common
sudo apt-get clean && apt-get install nginx

5 . 最后把配置文件恢复(可以用 nginx -t 测试一下配置文件是否正确),然后就可以启动了

sudo service nginx start

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39427.html

相关文章

  • Linode(Ubuntu 14.04 LTS)安装Wordpress备忘

    摘要:主机选择登录主机操作系统升级操作系统升级软件升级删除升级包设置主机时区设置主机名更新主机名绑定域名创建新的主机用户安装至此可以尝试打开下网站看看配置修改为主机登录用户名进程数增加设置上传文件大小检测配置信息 主机选择 Ubuntu 14.04 LTS 登录主机 ssh root@xx.xx.xx.xx 操作系统升级 apt-get update 操作系统升级apt-get upgrad...

    chinafgj 评论0 收藏0
  • Linode(Ubuntu 14.04 LTS)安装Wordpress备忘

    摘要:主机选择登录主机操作系统升级操作系统升级软件升级删除升级包设置主机时区设置主机名更新主机名绑定域名创建新的主机用户安装至此可以尝试打开下网站看看配置修改为主机登录用户名进程数增加设置上传文件大小检测配置信息 主机选择 Ubuntu 14.04 LTS 登录主机 ssh root@xx.xx.xx.xx 操作系统升级 apt-get update 操作系统升级apt-get upgrad...

    everfly 评论0 收藏0

发表评论

0条评论

MartinHan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<