centos7 nginx编译安装lua模块
侧边栏壁纸
  • 累计撰写 8 篇文章
  • 累计收到 1 条评论

centos7 nginx编译安装lua模块

photonshalo
2022-06-12 / 0 评论 / 1,660 阅读 / 正在检测是否收录...
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的环境变量
  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扩展依赖
  #下载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
  • 下载nginx编译相关依赖
  #下载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
6

评论 (0)

取消