1. 程式人生 > >nginx從1.6.3升級至1.12.2版本(安裝也可參考此文)

nginx從1.6.3升級至1.12.2版本(安裝也可參考此文)

準備環境:(僅針對沒有安裝過nginx的系統)

檢查並安裝所需的依賴軟體

 1).gcc:nginx編譯依賴gcc環境

   安裝命令:yum -y install gcc-c++

 2).pcre:(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 相容的正則表示式庫。nginxhttp模組使用pcre來解析正則表示式.

   安裝命令:yum install -y pcre pcre-devel

如果提示Error:  Multilib version problems found,則在命令後加上 --setopt=protected_multilib=false

 3).zlib:該庫提供了很多種壓縮和解壓縮的方式,nginx使用zlibhttp包的內容進行gzip。

   安裝命令:yum install -y zlib zlib-devel

如果提示Error:  Multilib version problems found,則在命令後加上 --setopt=protected_multilib=false

 4).openssl:一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程式供測試或其它目的使用。nginx不僅支援http協議,還支援https(即在ssl協議上傳輸http).

   安裝命令:yum install -y openssl openssl-devel

準備環境到此結束。

1、下載1.12.2版本的nginx,直接在官網下載即可。

wget http://nginx.org/download/nginx-1.12.2.tar.gz

2、解壓

tar zxvf nginx-1.12.2.tar.gz

3、我的舊版本安裝了nginx_upstream_check_module(健康檢查外掛),升級到新版本的nginx時需要在新版本的nginx裡打補丁。

如果你沒有安裝過nginx_upstream_check_module,可以直接在這裡下載https://codeload.github.com/yaoweibin/nginx_upstream_check_module/zip/master,並解壓unzip nginx_upstream_check_module-master

4、cd nginx-1.12.2

5、這就是第三步提到的打補丁

patch -p0 < 健康檢查所在路徑/nginx_upstream_check_module-master/check_1.11.5+.patch

如果系統不識別patch命令,請先執行yum -y install patch

6、檢測新版本nginx的配置環境

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --add-module=健康檢查所在路徑/nginx_upstream_check_module-master/

注意這裡可能需要建立www使用者組和使用者,執行

/usr/sbin/groupadd -f www/usr/sbin/useradd -g www www

7、編譯新版本nginx

make(注意千萬不要接下來執行make install,因為是升級,不是安裝)

8、備份舊版本的nginx命令

cp -a /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

9、停止nginx服務

/usr/local/nginx/sbin/nginx -s stop

10、將新版本的nginx命令複製過來

cd 新版本路徑/nginx-1.12.1/objs
cp -a nginx /usr/local/nginx/sbin/nginx

至此,升級完畢!重新啟動nginx看看吧,已經是新版本了!

./nginx -V檢視新版本