lua作为一个小巧轻量的脚本语言,可以快速的嵌入到c/c++程序中,扩展程序的功能。lua有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。
编译安装luajit
wget -O LuaJIT-2.0.5.tar.gz http://luajit.org/download/LuaJIT-2.0.5.tar.gz
tar -zxvf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make && make install PREFIX=/usr/local/luajit
配置lua环境变量
sudo vi /etc/profile
LUAJIT_HOME=/usr/local/luajit
export PATH=$PATH:$LUAJIT_HOME/bin
export LUAJIT_LIB=$LUAJIT_HOME/lib
export LUAJIT_INC=$LUAJIT_HOME/include/luajit-2.0
source /etc/profile
下载源码包并解压
- 新建目录,将下载的源码存放到该目录下(方便后续编译)
mkdir ${dir}
cd ${dir}
#下载nginx lua扩展模块
wget -O lua-nginx-module-0.10.20.tar.gz https://github.com/openresty/lua-nginx-module/archive/refs/tags/v0.10.20.tar.gz
tar -zxvf lua-nginx-module-0.10.20.tar.gz
#下载nginx开发工具包
wget -O ngx_devel_kit_v0.3.1.tar.gz https://github.com/vision5/ngx_devel_kit/archive/refs/tags/v0.3.1.tar.gz
tar -zxvf ngx_devel_kit_v0.3.1.tar.gz
#下载rtmp模块
wget -O nginx-rtmp-module-1.2.2.tar.gz https://git.photonbarrier.com/arut/nginx-rtmp-module/archive/refs/tags/v1.2.2.tar.gz
tar -zxvf nginx-rtmp-module-1.2.2.tar.gz
#下载openssl源码包
wget https://www.openssl.org/source/old/1.1.0/openssl-1.1.0i.tar.gz
tar -zxvf openssl-1.1.0i.tar.gz
#下载pcre源码包
wget https://webwerks.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz
tar -zxvf pcre-8.45.tar.gz
#下载zlib源码包
wget http://www.zlib.net/fossils/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
#下载nginx源码包
wget http://nginx.org/download/nginx-1.20.2.tar.gz
tar -zxvf nginx-1.20.2.tar.gz
安装相关依赖
#安装perl依赖
yum install gcc-c++ gcc perl-devel perl-ExtUtils-Embed
设置nginx编译参数
#创建build.sh脚本
vi build.sh
#!/bin/bash
CURRDIR=`dirname "$0"`
BASEDIR=`cd "$CURRDIR"; pwd`
VERSION=1.20.2
cd $BASEDIR/nginx-$VERSION
./configure --prefix=/usr/local/nginx/nginx-1.20.2 \
--conf-path=/usr/local/nginx/nginx-1.20.2/conf/nginx.conf \
--sbin-path=/usr/local/nginx/nginx-1.20.2/sbin/nginx \
--pid-path=/usr/local/nginx/nginx-1.20.2/logs/nginx.pid \
--error-log-path=/usr/local/nginx/nginx-1.20.2/logs/error.log \
--http-log-path=/usr/local/nginx/nginx-1.20.2/logs/access.log \
--http-client-body-temp-path=/usr/local/nginx/nginx-1.20.2/client_body_temp \
--http-proxy-temp-path=/usr/local/nginx/nginx-1.20.2/proxy_temp \
--http-fastcgi-temp-path=/usr/local/nginx/nginx-1.20.2/fastcgi_temp \
--http-uwsgi-temp-path=/usr/local/nginx/nginx-1.20.2/uwsgi_temp \
--http-scgi-temp-path=/usr/local/nginx/nginx-1.20.2/scgi_temp \
--user=root \
--group=root \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_secure_link_module \
--with-http_v2_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_perl_module \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream_ssl_module \
--with-file-aio \
--with-ipv6 \
--with-pcre=../pcre-8.45 \
--with-perl_modules_path=/usr/local/nginx/nginx-1.20.2/modules \
--with-zlib=../zlib-1.2.11 \
--with-openssl=../openssl-1.1.0i \
--with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib" \
--add-module=../lua-nginx-module-0.10.20 \
--add-module=../ngx_devel_kit_v0.3.1 \
--add-module=../nginx-rtmp-module-1.2.2
make && make install
chmod +s /usr/local/nginx/nginx-1.20.2/sbin/nginx
注意:nginx编译参数中的模块路径如果相对路径找不到,可以写成系统的绝对路径进行编译
编译安装nginx
sudo sh build.sh
成功后测试nginx的版本
/usr/local/nginx/nginx-1.20.2/sbin/nginx -v
评论 (0)