zoukankan      html  css  js  c++  java
  • nginx安装lua-nginx-module模块

    转载注明地址:http://www.cnblogs.com/dongxiao-yang/p/5312285.html

    本文主要采用手动源码安装的方式将lua-nginx模块编译到nginx源码内部

    一:系统版本

    1 cat /etc/issue

    CentOS release 6.7 (Final)

    Kernel on an m

    cat /proc/version 

    Linux version 2.6.32-573.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Thu Jul 23 15:44:03 UTC 2015

    二 :安装

    1 安装LuaJIT

    下载地址http://luajit.org/download.html,本次下载的是2.0.0版本

    安装命令参考http://luajit.org/install.html教程,本文直接修改了Makefile文件里的默认路径PREFIX到/opt/luajit-2.0.0。

    make && make install

    安装完毕。

    2 安装nginx

    (1) 下载ng源码并解压 

     wget http://nginx.org/download/nginx-1.8.1.tar.gz

    (2)下载 ngx_devel_kit (NDK) 模块 HERE. 解压

    (3)下载 ngx_lua HERE.解压

    (4)安装pcre依赖库

    yum install readline-devel pcre-devel openssl-devel gcc

    (5)设置变量并编译export LUAJIT_LIB=/opt/luajit-2.0.0/lib(根据本机位置)

    
    export LUAJIT_INC=/opt/luajit-2.0.0/include/luajit-2.0(根据本机位置)
    
     
    
    cd nginx-1.8.1
    
    ./configure --prefix=/opt/nginx-build-1.8.1 
    --with-ld-opt="-Wl,-rpath,/opt/luajit-2.0.0/lib" 
    --add-module=/opt/lua-nginx-module-0.10.2 
    --add-module=/opt/ngx_devel_kit-0.3.0rc1

    make -j2

    make install

    这里注意的是很多人编译的时候没有加选项:--with-ld-opt="-Wl,-rpath,/opt/luajit-2.0.0/lib

    这样会导致编好的nginx在启动的时候会无法找到位于luajit内的类库,类似于

    /opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf
    /opt/nginx/sbin/nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

    这个问题很多人发现后采用了将libluajit-5.1.so.2链接到系统库的做法,比如http://cywhoyi.iteye.com/blog/2118913,以及https://www.ttlsa.com/nginx/nginx-modules-ngx_lua,采用的

    ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/

    这样可以解决问题,但是相当于一个补救方法。

    参考问题https://github.com/openresty/lua-nginx-module/issues/8 里agentzh的回答

    --with-ld-opt=parameters — sets additional parameters that will be used during linking. When using the system PCRE library under FreeBSD, --with-ld-opt="-L /usr/local/lib" should be specified.  

    所以相当于直接把luajit的lib库加到了nginx的搜索库。

    (6)启动

    ln -s nginx-build-1.8.1 nginx 设为默认路径

    /opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf

    启动成功

    参考资料

    如何安装nginx_lua_module模块

    lua-nginx-module 

    OpenResty 一个可伸缩的基于 NGINX 的 Web 平台

  • 相关阅读:
    WF4.0 Beta1 自定义跟踪
    WF4.0 Beta1 流程设计器与Activity Designer
    新版本工作流平台的 (二) 权限算法(组织结构部分)
    WF4.0 Beta1 WorkflowInvoker
    WF4.0 基础篇 (十) Collection 集合操作
    WF4.0 基础篇 (十五) TransactionScope 事物容器
    WF4.0 基础篇 (六) 数据的传递 Arguments 参数
    WF4B1 的Procedural Activity 之InvokeMethod , InvokeMethod<T> 使用
    WF4.0 Beta1 异常处理
    WF4.0 Beta1 变量 Variables
  • 原文地址:https://www.cnblogs.com/dongxiao-yang/p/5312285.html
Copyright © 2011-2022 走看看