【雲計算的1024種玩法】手把手教你如何編譯升級 OpenResty

 前言html

在前面的 【雲計算的1024種玩法】手把手教你如何編譯一個高性能 OpenResty 已經介紹過如何安裝 OpenResty 了,不過相似上面安裝的教程那麼多,可是升級的教程就不太多了。【雲計算的1024種玩法】做爲一個對你和對你的網站負責的系列教程,搞壞了你的服務器,就要搞好它~nginx

在雲棲大會的 Tech Insight 場上,雲安全的專家的思路就是安全這種東西作好主動性強的預防就能夠避免別動的對攻擊進行防護,因此更新安全補丁升級軟件的重要性是不言而喻的。git

準備

準備

雲翼計劃

學生用戶能夠在阿里雲官網上進行學生認證後購買必定配置的ECS,僅需9.9元每個月,學生用戶無需擔憂花費過多用在服務器的問題。github

學生用戶在通過學生認證事後就能夠在相關網址進行購買,網址爲:瀏覽器

https://promotion.aliyun.com/ntms/campus2017.html安全

買好了服務器就能夠去剛剛註冊好的帳號管理裏的管理控制檯去查看服務器以及它的一些配置。服務器

遠程控制

【雲計算的1024種玩法】使用 DMS 只要一個瀏覽器輕鬆搞定運維任務
【雲計算的1024種玩法】ECS和輕量應用服務器的遠程控制入門運維

教程

定義版本

爲了後面的維護方便,繼續定義版本,這裏將版本修改爲妖更新的新的軟件版本號。性能

# Version
OpenSSLVersion='openssl-1.1.0g';
NginxCTVersion='1.3.2';
PageSpeedVersion='1.12.34.2';
SystemBit='X64';
OpenRestyVersion='openresty-1.13.6.1';

上述軟件版本更新查看: OpenSSLNginx-CTPageSpeedOpenResty網站

下載源碼

cd /root/src

wget https://www.openssl.org/source/$OpenSSLVersion.tar.gz
tar xzf $OpenSSLVersion.tar.gz

wget https://github.com/grahamedgecombe/nginx-ct/archive/v$NginxCTVersion.tar.gz
tar xzf v$NginxCTVersion.tar.gz

git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
git submodule update --init
cd ../

wget https://github.com/pagespeed/ngx_pagespeed/archive/v$PageSpeedVersion-beta.zip
unzip v$PageSpeedVersion-beta.zip
cd ngx_pagespeed-$PageSpeedVersion-beta/
wget https://dl.google.com/dl/page-speed/psol/1.12.34.2-$SystemBit.tar.gz
tar -xzvf $PageSpeedVersion-$SystemBit.tar.gz
cd ../

wget -c https://openresty.org/download/$OpenRestyVersion.tar.gz
tar zxf $OpenRestyVersion.tar.gz

升級

cd $OpenRestyVersion
./configure --prefix=/usr/local/openresty \
--user=www-data --group=www-data \
--add-module=../ngx_brotli \
--add-module=../nginx-ct-$NginxCTVersion \
--add-module=../ngx_pagespeed-$PageSpeedVersion-beta \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-openssl=../$OpenSSLVersion \
--with-ld-opt='-ljemalloc'
make
mv /usr/local/openresty/nginx/sbin/nginx{,`date +%m%d`}
nginx.old  #備份現有nginx
make install
kill -USR2 `cat /run/openresty.pid`
sleep 1
kill -QUIT `cat /run/openresty.pid.oldbin`

解釋

make 以後,運行

mv /usr/local/openresty/nginx/sbin/nginx{,`date +%m%d`}

是爲了備份舊的二進制 Nginx 文件。 爲何還要運行 make install 呢?由於不一樣於 Nginx,OpenResty 除了 Nginx Core,還有luajit等等內容,因此仍是要經過 make install

kill -USR2 `cat /run/openresty.pid`

是爲了刪除舊版本的運行進程。

查看

運行下面命令,查看現有 nginx.conf 文件是否符合現有版本的要求。

ngint -t

而後經過下面命令,查看版本是有已經更新至最新版本。

nginx -V

結語

OpenResty 做爲 Web 端軟件是訪客接觸網站的第一層其安全性是不言而喻的,並且 Nginx 及其衍生版特別容易出 DOS 漏洞,因此咱們必定要及時關注漏洞情報和版本補丁狀況及時更新,避免安全問題。

相關文章
相關標籤/搜索