在Debian Jessie上,我通过apt-get安装了nginx。 现在我想升级到最新的nginx来利用http2。 我无法将其添加到source.list文件,因为它是一个树莓派。 我下载,编译没有问题,但它安装在不同的位置。
现在,当我nginx -v
我得到1.6.3,但如果我/usr/local/sbin/nginx -v
我得到1.11.2。
我可以在configuration期间设置安装path,我不知道这是我想要做的。 我想安装1.6的顶部1.11而不是所有的我的网站文件和configuration。 如何从源代码升级nginx并保持我所有的旧configuration?
在我看来,一条更好的路线,而不是独自编译,特别是如果你还没有经验(没有违法),将是使用backports ,因为:
您正在运行Debian stable,因为您更喜欢Debian稳定的树。 它运行得很好,只有一个问题:与其他发行版相比,该软件有点过时了。 这是backports进来的地方。
这样做也可以为您提供安全更新,否则您将自己照顾自己。
剩下的一个警告: j-bpo
的nginx
当前版本是针对openssl 1.0.1
构build的,也就是说,您将无法使用ALPN
,而是使用NPN
,因此您无法为Chrome
用户提供HTTP/2
服务,因为开发者最近放弃了对NPN
支持,但是对于那些使用Firefox
人来说却是有用的。 我在这里描述了一个解决方法。 如果你的两个人有可能再等上四个星期: j-bpo
nginx
将被重build为openssl 1.0.2
,所以你现在不需要这个解决方法了。
所以,让我们开始吧(现在):
将jessie-backports
添加到你的sources.list。 这是在这里描述。
设置APT pinning
,只需要从jessie-backports
提取指定的包:
把一些东西沿着:
Package: * Pin: release n=jessie Pin-Priority: 900 Package: * Pin: release a=jessie-backports Pin-Priority: 100
进入/etc/apt/preferences
。 如果这个文件还不存在,请创build它。
运行apt-get update
。
运行apt-get install -t jessie-backports nginx
nginx
从jessie-backports
安装nginx
。