云计算的1024种玩法手把手教你如何编译升级 OpenResty

Posted 技术开发文章分享

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云计算的1024种玩法手把手教你如何编译升级 OpenResty相关的知识,希望对你有一定的参考价值。

摘要: 在前面的 【云计算的1024种玩法】手把手教你如何编译一个高性能 OpenResty已经介绍过如何安装 OpenResty 了,不过类似上面安装的教程那么多,但是升级的教程就不太多了。【云计算的1024种玩法】作为一个对你和对你的网站负责的系列教程,搞坏了你的服务器,就要搞好它~

前言

在前面的 【云计算的1024种玩法】手把手教你如何编译一个高性能 OpenResty 已经介绍过如何安装 OpenResty 了,不过类似上面安装的教程那么多,但是升级的教程就不太多了。【云计算的1024种玩法】作为一个对你和对你的网站负责的系列教程,搞坏了你的服务器,就要搞好它~

在云栖大会的 Tech Insight 场上,云安全的专家的思路就是安全这种东西做好主动性强的预防就可以避免别动的对攻击进行防御,所以更新安全补丁升级软件的重要性是不言而喻的。

准备

准备

云翼计划

学生用户可以在阿里云官网上进行学生认证后购买一定配置的ECS,仅需9.9元每月,学生用户无需担心花费过多用在服务器的问题。

学生用户在经过学生认证过后就可以在相关网址进行购买,网址为:

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

买好了服务器就可以去刚刚注册好的账号管理里的管理控制台去查看服务器以及它的一些配置。

远程控制

【云计算的1024种玩法】使用 DMS 只要一个浏览器轻松搞定运维任务
【云计算的1024种玩法】ECS和轻量应用服务器的远程控制入门

教程

定义版本

为了后面的维护方便,继续定义版本,这里将版本修改成妖更新的新的软件版本号。

# VersionOpenSSLVersion='openssl-1.1.0g';nginxCTVersion='1.3.2';PageSpeedVersion='1.12.34.2';SystemBit='X64';OpenRestyVersion='openresty-1.13.6.1';

上述软件版本更新查看: OpenSSL、Nginx-CT、PageSpeed、OpenResty

下载源码

cd /root/src

wget https://www.openssl.org/source/$OpenSSLVersion.tar.gztar xzf $OpenSSLVersion.tar.gzwget https://github.com/grahamedgecombe/nginx-ct/archive/v$NginxCTVersion.tar.gztar xzf v$NginxCTVersion.tar.gzgit clone https://github.com/google/ngx_brotli.gitcd ngx_brotli
git submodule update --init
cd ../

wget https://github.com/pagespeed/ngx_pagespeed/archive/v$PageSpeedVersion-beta.zipunzip v$PageSpeedVersion-beta.zipcd ngx_pagespeed-$PageSpeedVersion-beta/
wget https://dl.google.com/dl/page-speed/psol/1.12.34.2-$SystemBit.tar.gztar -xzvf $PageSpeedVersion-$SystemBit.tar.gzcd ../

wget -c https://openresty.org/download/$OpenRestyVersion.tar.gztar 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 漏洞,所以我们一定要及时关注漏洞情报和版本补丁情况及时更新,避免安全问题。


以上是关于云计算的1024种玩法手把手教你如何编译升级 OpenResty的主要内容,如果未能解决你的问题,请参考以下文章

腾讯云总监手把手教你,如何成为 AI 工程师?

手把手教你完成MaxCompute JDBC自定义日志配置

干货!纯干货!手把手教你做云专线互联网备援接入-上集

活动速递 | 手把手教你Serverless的沙龙来不来约?

手把手教你如何购买腾讯云服务器(图文详解)?

保姆级教程!手把手教你使用Longhorn管理云原生分布式SQL数据库!