在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