在CentOS上升级把Nginx从1.2.4升级到1.6.0
摘要:本文记录了在CentOS 6.3上,把Nginx从1.2.4升级到1.6.0的过程。
1. 概述
在我做的一个项目中,最近我对生产服务器上的一系列系统软件进行了升级,包括Git、Nginx、MySQL和PHP。这篇文章讲的是升级Nginx的过程,其他软件的升级,可见下面列出的文章。
- 在CentOS上把Git从1.7.1升级到1.7.12.4
- 在CentOS上把Nginx从1.2.4升级到1.6.0 (本文)
- 在CentOS上把MySQL从5.5升级到5.6
- 在CentOS上把PHP从5.4升级到5.5
服务器的操作系统是CentOS 6.3。在我加入这个项目之前,网络服务器Nginx已经安装设置好了,所以我当时只是查看了一些文档,找到了网站所在的根目录,而没有考虑升级之类的事情。现在过去1年了,应该适当升级服务器上的软件了。升级这种事情是应当经常做的,倒不是为了追最新版本,而是当正式版本发放出来的时候,应该及时更新,以便获得最新的更正、补丁,避免服务器上的漏洞,减少安全隐患。
升级是在今年6月11日进行的,到今天才有空做个记录,也便于日后参考。
2. 升级过程
升级之前,查找了关于在CentOS上升级Nginx的文档,但是没有找到任何关于升级、不兼容性等问题的文档。根据读到的东西,我的判断是,的确没有任何问题,直接升级就是了。我依据的是官方网站上的安装文档,见参考资料[1]。
2.1 为yum建立nginx安装库
在/etc/yum.repos.d目录下创建文件nginx.repo,输入如下内容:
# nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/6/$basearch/ gpgcheck=0 enabled=1
其中,baseurl中的6是CentOS的主版本号,因为我的操作系统是CentOS 6.3。如果是CentOS 7,就应该是http://nginx.org/packages/centos/7/$basearch/。
enabled=1表示这个库是开启的,用完之后可以把它关闭。
2.2 升级Nginx
在root权限下,运行下面的命令:
# yum update nginx ... ... 省略了更多的输出和选项 ... ... 3 packages downloaded and installed ... ... 省略了更多的输出和选项 ... ...
按照相应的提示操作,基本上只要按回车肯定缺省的选项即可。如上所示,在升级过程中,共下载、安装了3个包,除了nginx本身的包,还有2个是openssl的包。
停止、重启nginx服务:
# service nginx stop
Stopping nginx: [ OK ]
# service nginx start
Starting nginx: [ OK ]
查看Nginx的版本:
# nginx -v nginx version: nginx/1.6.0
可以看到Nginx已经是1.6.0了。
再测试:
# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
测试成功,并且可以知道Nginx的配置文件是/etc/nginx/nginx.conf。
2.3 清理
再次编辑文件/etc/yum.repos.d/nginx.repo:
# nginx.repo
[nginx]
# 其他内容省略
enabled=0
最后,清理yum的缓存:
# yum clean all
A. 参考资料
- 官方网站上关于安装Nginx的文档
http://wiki.nginx.org/Install - How To Install nginx on CentOS 6 with yum
https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-centos-6-with-yum