在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 。