如何编译一个高性能OpenResty

73次阅读
没有评论

共计 3234 个字符,预计需要花费 9 分钟才能阅读完成。

本篇文章给大家分享的是有关如何编译一个高性能 OpenResty,丸趣 TV 小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着丸趣 TV 小编一起来看看吧。

介绍

下面将介绍如何一步一步手动编译 OpenResty,OpenResty 是一个基于  Nginx  与 Lua 的高性能 Web 平台,拥有非常好的拓展性让服务器发挥更好性能。全部依赖 Linux 发行版组建中的依赖,而免除编译带来的后期维护成本。

准备设置安全组(重要)

如果不设置好安全组,究竟是无法访问还是编译失败会分不清的。

需要开放: 80 和 443 端口

教程

本教程以,Ubuntu 16.04 LTS 64 位版   为例。

设定版本变量

如果软件版本更新后,为了方便起见,后续修改版本号只需修改下面的变量即可。在 SSH 终端 中输入:

# VersionOpenSSLVersion= openssl-1.0.2l NginxCTVersion= 1.3.2 PageSpeedVersion= 1.12.34.2 SystemBit= X64 OpenRestyVersion= openresty-1.11.2.5

注:  截止本次更新,OpenResty 1.11.2 版本最高只能搭配 OpenSSL 1.0.2。
上述软件版本更新查看: OpenSSL、Nginx-CT、PageSpeed、OpenResty

安装依赖

更新系统软件源缓存顺便升级组件:

apt updateapt upgrade -y

安装依赖组件:

apt install build-essential libreadline-dev libncurses5-dev libpcre3 libpcre3-dev libssl-dev zlib1g-dev unzip git perl make libjemalloc1 libjemalloc-dev

下载源码

这里将 OpenResty 所需的源代码均放置在  /root/src  目录下,方便管理。

cd /rootmkdir srccd src

下载 OpenResty 和其拓展的源代码:

# 下载  OpenSSL,Ubuntu 16.04(不包括)以下版本请删除下面的  #  以下载 #wget https://www.openssl.org/source/$OpenSSLVersion.tar.gz#tar xzf $OpenSSLVersion.tar.gzwget 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/$PageSpeedVersion-$SystemBit.tar.gz
tar -xzvf $PageSpeedVersion-$SystemBit.tar.gz
cd ../
wget -c https://openresty.org/download/$OpenRestyVersion.tar.gz
tar zxf $OpenRestyVersion.tar.gz

查看更多

编译 OpenResty

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-ld-opt= -ljemalloc make   make install

Ubuntu 16.04(不包括)以下版本请在倒数第二行添加:

--with-openssl=../$OpenSSLVersion \

设置变量

[ -z  `grep ^ export PATH=  /etc/profile`  ]   echo  export PATH=/usr/local/openresty/nginx/sbin:\$PATH    /etc/profile
[ -n  `grep ^ export PATH=  /etc/profile`  -a -z  `grep /usr/local/openresty/ /etc/profile`  ]   sed -i  s@^export PATH=\(.*\)@export PATH=/usr/local/openresty/nginx/sbin:\1@  /etc/profile
. /etc/profile

后面就可以用,nginx -t  检测配置是否正确,nginx -s reload  重载 Nginx 了。

创建相关目录

mkdir /data/wwwlogs/ -p
mkdir /data/wwwroot/default/ -p
cp /usr/local/openresty/nginx/html/index.html /data/wwwroot/default/

设置服务和开机启动

创建  /etc/systemd/system/openresty.service  文件,内容:

cd /etc/systemd/system/wget https://gist.githubusercontent.com/ivmm/dbf03e6c7970488652878bb8ddc3a775/raw/48436d911d08e57774c759bdb50548dec31dc86f/openresty.service

编辑  /usr/local/openresty/nginx/conf/nginx.conf  文件为:

cd /usr/local/openresty/nginx/conf/rm nginx.conf -rf
wget https://gist.githubusercontent.com/ivmm/ab81dee184b64036bd4b8d5abe676264/raw/1cbfbc387aa956f6d9afe39d60e2b8c988a10688/nginx.conf

重新加载 systemd 服务,以便它可以找到我们的文件:

systemctl daemon-reload

通过 systemd 重启 OpenResty:

systemctl restart openresty

设置开机启动:

systemctl enable openresty

打开你的服务器 IP,就能看到安装好的 OpenResty 提示页了  https://pics.mf8.biz/mf8/awxi3.png

以上就是如何编译一个高性能 OpenResty,丸趣 TV 小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计3234字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)