适用于Ubuntu的最新版Nginx源整理
Ubuntu 12.04 LTS版本附带的Nginx版本为1.1.19,这个版本发布于2012年4月,而Nginx在最近一年来有大量的更新,最新的稳定版本已经更新到了1.4.1,Nginx 1.3/1.4分支带来了很多新的功能,最重要的就是支持SPDY。
Kaijia使用的几台VPS都使用了Nginx,这主要是由于Apache效率很低并且对服务器IO内存要求很高,因此在OpenVZ架构下效率明显比Nginx。然而在切换到Nginx之前,Kaijia在所有开启HTTPS的服务器上启用了SPDY,而如果使用Ubuntu官方源中的Nginx就无法支持SPDY,所以最近花了一些功夫找最新版Nginx的源。
这几天折腾完了,于是列几个比较高质量的源:
Nginx爱好者维护的ppa:nginx/stable
Nginx Stable PPA是由Ubuntu社区维护的源,本源更新自稳定版分支,是Kaijia目前使用的源,这个源的特点是文件的目录结构和Ubuntu自带的Nginx相同,因此安装这个版本时不需要修改/etc/nginx/下面的配置文件。不过这个源更新比较慢,一般Nginx
新版本发布后要过一至两周才会更新,但质量是保证的。安装此源只需要在终端中运行:
1 |
apt-add-repository ppa:nginx/stable |
然后即可安装Nginx:
1 2 |
apt-get update apt-get install nginx |
不过这个源将SPDY作为额外模块,因此如果你需要启用SPDY或者执行service nginx start后没有反应则应该执行:
1 |
apt-get install nginx-extras |
Nginx官方源
Nginx官方源由nginx.org提供,直接通过最新稳定版本的源代码编译,更新速度最快,几乎在新版本发布时就会完成编译。Nginx官方源的所有的内容全部编译在nginx包中,安装是需要编辑/etc/apt/sources.list文件,在文件最后增加:
1 2 |
deb http://nginx.org/packages/ubuntu/ codename nginx deb-src http://nginx.org/packages/ubuntu/ codename nginx |
使用对应版本的Ubuntu发行版代号替换codename,例如Ubuntu 12.04是:
1 2 |
deb http://nginx.org/packages/ubuntu/ precise nginx deb-src http://nginx.org/packages/ubuntu/ precise nginx |
然后即可安装Nginx:
1 2 |
apt-get update apt-get install nginx |
不过官方源没有针对Debian目录标准做修改,所有的站点配置文件都保存在/etc/nginx/conf.d文件夹而不是/etc/nginx/sites-available文件夹下,如果你希望将sites-available文件夹加入到配置文件中,你需要编辑/etc/nginx/nginx.conf文件,在“include /etc/nginx/conf.d/*.conf;”行之后加入:
1 |
include /etc/nginx/sites-enabled/*; |
另外请注意这个源编译安装时没有做优化,并不会检查/etc/nginx/下的配置文件是否和新版本有不同,而会不管三七二十一地直接覆盖原有配置文件,所有更新前请备份一下配置文件。
Chris Lea维护的ppa:chris-lea/nginx-devel
这个PPA之前Kaijia已经在《Ubuntu通过PPA安装支持SPDY的Nginx服务器》有过介绍,在Nginx 1.4发布之前,这是Kaijia找到的唯一一个支持SPDY的Nginx PPA,详细信息可参考之前的文章,目前这个PPA版本是1.5.0,SPDY已经被编译在核心内容中,不需要安装nginx-extras,只需要安装nginx-full包即可。Chris Lea的更新要比ppa:nginx/stable快很多,Nginx新版发布后一至两天就会更新。
以上是Kaijia使用过的几个Nginx源,当然还有其他很多选择,例如Debian sid中就附带了1.4.1版本可以使用,在这里Kaijia比较推荐ppa:nginx/stable,具体使用那一个版本还是要视情况而定的。
关于nginx/stable那个ppa
你提到这个源将nginx作为额外模块,需要nginx-extras
但是这个源里并没有nginx-extras这个软件包,apt-get的时候显示是ubuntu官方源里的,并且nginx版本只有1.1.x, 没有SPDY支持。
。。。是不是忘了apt-get update?添加这个PPA之后是有nginx-extras这个包的,运行
apt-get update
apt-get install nginx-extras
时会提示卸载nginx和nginx-full,并且安装nginx-extras。你可以在它的库里面找到nginx-extras_1.4.1-1ppa1~precise_架构.deb这个包。
啊抱歉,我看错了
这个源里有nginx-extras的
嘻嘻,感谢关注啦~
[…] 就可以了,但是不推荐这么做,这里的Nginx都是系统官方源,比较老,如果你是国外的主机,可以使用官方的源或者爱好者自己维护的比较新的源:《适用于Ubuntu的最新版Nginx源整理》,这个比较全。当然如果是国内用户的话,请你测试一下服务器能不能访问Nginx的官网(可以用ping来测试),如果访问不了,那就老老实实用系统源吧,虽然老了一些但是还是可以用的。顺便附上Nginx官方源安装方法:《【总结】服务器手工配置HHvm环境~》,在这里面可以找到。 […]