`
cywhoyi
  • 浏览: 421024 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

nginx安装 ngx_lua模块

阅读更多

 

HttpLuaModule是淘宝开发的nginx的第三方模块,能将lua语言嵌入到nginx配置中

这里我主要记录日志作用,用来记录关于用户在网站上行为的到log日志中,lua同样作为脚本语言发挥更大作用,诸如通过redis中的数据,直接返回json等格式数据相应给用户,我这里主要是存放入log中,然后做数据ETL处理,如果访问量非常大,进行离线情况下Map-reduce的分析处理。

 

安装包下载

nginx  地址:http://www.nginx.org
luajit 地址:http://luajit.org/download.html
HttpLuaModule 地址:http://wiki.nginx.org/HttpLuaModule
1.安装luajit
cd /usr/server/nginx
wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz
tar -xzvf LuaJIT-2.0.2.tar.gz
cd LuaJIT-2.0.2
make
make install

2.安装nginx
cd /usr/server/nginx
wget http://nginx.org/download/nginx-1.4.7.tar.gz
tar -xzvf nginx-1.4.7.tar.gz
cd nginx-1.4.7

3.导入环境变量
export LUAJIT_LIB=/usr/local/lib
export LUAJIT_INC=/usr/local/include/luajit-2.0
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

./configure --prefix=/usr/server/nginx \
--conf-path=/usr/server/nginx/nginx.conf \
--add-module=/usr/server/nginx/lua-nginx-module-0.8.6
make -j2
make install

4.检查
./sbin/nginx -t
如果出现error:
 error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
可能是./configure时--conf-path未配置,或者# ln -s /usr/local/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.

5.安装pcre
安装nginx时,其实pcre第一步就要安装
为了检查是否安装,可通过

      ./configure --prefix=/usr/server/nginx --with-http_realip_module --with-http_sub_module --with-http_flv_module --with-http_dav_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_addition_module --with-http_ssl_module

 

安装nginx之前需要安装PCRE库的安装(使用root用户
最新下载地址   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
tar –zxvf pcre-8.21.tar.gz
,解压目录为:pcre-8.21
然后进入到cd pcre-8.21,进行配置、编译、安装
配置
./configure
./config
编译
make
安装
make install



6.测试安装成功
cd /usr/server/nginx
./sbin/nginx -t
至于nginx其它命令可通./sbin/nginx -h
常用的有
./sbin/nginx -h   help
./sbin/nginx      启动
./sbin/nginx -t   check
./sbin/nginx -s  reload  重新加载
./sbin/nginx -s  quit   服务退出


7.配置nginx.conf
cd /usr/server/nginx/conf
vi nginx.conf

location ~* ^/lua(/.*) {
      default_type 'text/plain';
      content_by_lua 'ngx.say("hello,it's lua language")';
}

8.curl http://domail/lua/

9.nginx对于代理、负载不在本章节讨论,其实蛮简单的

10.在附件中提供nginx的lua语言用来扩展,记得联系下https://github.com/agentzh

2
2
分享到:
评论

相关推荐

    ngx_lua_module-windows-1.1.2.0

    在Windows上安装ngx_lua_module,需要先下载并安装Nginx,然后将模块解压至Nginx的`modules`目录。修改Nginx配置文件,加入模块的编译选项,并配置lua脚本路径。最后,重新编译并启动Nginx。 5. **学习与资源** ...

    ngx_lua_waf-master.zip_lua_nearly11h_nginx_ngx_lua_waf

    安装和使用ngx_lua_waf时,你需要先确保已经安装了Nginx和ngx_lua模块。然后,将ngx_lua_waf解压到Nginx的`sites-available`或相应配置目录下,并根据`README.md`或`INSTALL.md`中的指示修改配置文件,添加必要的Lua...

    ngx_lua资源

    ngx_lua 是一个强大的 Lua 脚本绑定模块,用于 ngx_openresty,这是一个全面的、高性能的、企业级的 Lua 开发平台,基于 Nginx。ngx_lua 允许开发者在 Nginx 的事件驱动、非阻塞 I/O 模型下编写服务器端的 Lua 应用...

    ngx_lua内幕

    ngx_lua是Nginx的一个模块,它通过Lua语言和协程机制解决了传统架构并发度低、内存开销大和开发维护困难的问题。其提供的异步非阻塞I/O访问接口使得业务逻辑的开发变得更加简洁高效。ngx_lua的设计充分发挥了Lua的轻...

    Using ngx_lua in UPYUN 2.pdf

    - **安装ngx_lua模块**:文档中展示了如何通过配置`./configure`命令来安装Nginx和ngx_lua模块。具体地,需要在Nginx的配置过程中加入`--add-module`参数指定ngx_lua模块的路径。 - **Nginx配置文件**:展示了一个...

    lua-upstream-nginx-module, Nginx C 模块将Lua向ngx_lua公开,用于 Nginx upstreams.zip

    lua-upstream-nginx-module, Nginx C 模块将Lua向ngx_lua公开,用于 Nginx upstreams 电子邮件名称ngx_http_lua_upstream - Nginx MODULE,用于向 Nginx upstreams公开Lua到 ngx_lua目录NAME状态概要说明函数get_...

    Nginx-ngx_lua模块原理和内置函数.docx

    ### Nginx ngx_lua 模块原理与内置函数详解 #### 概述 Nginx 是一款高性能的 HTTP 和反向代理 Web 服务器,而 ngx_lua 模块则是 Nginx 的一个强大扩展,它允许在 Nginx 中直接嵌入 Lua 脚本进行动态内容处理和请求...

    Centos 7 64 +[nginx+ngx_lua 模块] 支持WAF防护功能

    - 使用Lua编写WAF规则,这些规则通常包含在单独的Lua脚本文件中,通过`set_by_lua_file`或`access_by_lua_file`指令引入到Nginx配置中。 - WAF规则可以检查请求头、URL、请求体等,以防止SQL注入、XSS攻击等安全...

    Using ngx_lua in UPYUN 2.zip

    1. **ngx_lua 模块介绍**:ngx_lua 是由 OpenResty(一个基于 Nginx 的高性能 Web 开发框架)提供的,它允许在 Nginx 配置文件中直接编写 Lua 脚本,实现了 HTTP 请求的实时处理,包括请求的接收、响应的构建以及与...

    ngx_lua 在又拍云的应用:日志收集及其他 - 又拍云系统开发工程师 - 张聪

    ngx_lua 是一个 NGINX 的第三方扩展模块,它能够将 Lua 代码嵌入到 NGINX 中来执行。UPYUN 的 CDN 大量使用了 NGINX 作为反向代理服务器,并开发了一系列例如流量统计、缓存调度、防盗链等相关的 C 模块,但从 2013 ...

    lua-nginx-module-0.10.13

    ngx_lua_shared_dict则提供了在不同Lua VM之间共享数据的机制,适用于实现缓存和计数器等功能。 三、Lua-Nginx-Module的使用 3.1 安装与配置 安装lua-nginx-module通常涉及编译Nginx源码,并在编译时添加lua-nginx...

    ngx_stream_ssl_preread_module调研.docx

    NGX_STREAM_SSL_PREREAD_MODULE 模块在 nginx-1.14 中自带,nginx-1.10.2 中没有该模块。最新版的该模块可直接用 nginx-1.16 中直接替换。编译时候需要打开 --with-stream 和 --with-stream_ssl_preread_module 选项...

    第08篇:Bypass ngx_lua_waf SQL注入防御(多姿势)1

    ### Bypass ngx_lua_waf SQL注入防御方法解析 #### 0x00 前言 ngx_lua_waf是一款基于ngx_lua的Web应用防火墙,以其高性能与轻量级著称。它内置了一系列针对常见攻击手段如SQL注入的防御规则。然而,在实际应用中,...

    ngx_lua_php_queue, nginx lua php redis实现单业务排队系统架构.zip

    ngx_lua_php_queue是一个开源项目,它利用Nginx的lua模块、PHP以及Redis来构建一个单业务排队系统架构。这个架构旨在解决高并发场景下,确保请求按序处理,防止资源争抢,优化服务性能的问题。以下是这个系统架构的...

    第三篇:Bypass ngx_lua_waf SQL注入防御(多姿势)1

    2. **安装部署**:按照官方文档中的指引完成ngx_lua_waf的安装配置过程。 3. **设置反向代理**:配置Nginx作为反向代理,以便测试构建的SQL注入点。 #### 0x02 WAF测试原理与案例分析 ##### 1. 参数获取机制 ngx_...

    ngx_devel_kit-0.3.0

    ngx_devel_kit,简称NDK,是一款专为Nginx设计的第三方模块开发工具,其核心目的是简化和加速Nginx模块的开发过程。在Nginx的生态系统中,NDK扮演着至关重要的角色,它提供了一系列的API和宏,帮助开发者更高效地...

    Nginx服务器中使用lua获取get或post参数.docx

    ngx_lua模块是Nginx的一个第三方模块,提供了在Nginx中使用Lua语言的能力。 首先,我们可以使用ngx.var.request_method获取当前请求的方法是GET还是POST,然后使用ngx.req.get_uri_args()或ngx.req.get_post_args()...

    lua-resty-consul, 库与ngx_lua中的consul接口的接口.zip

    lua-resty-consul, 库与ngx_lua中的consul接口的接口 lua-resty-consul库与ngx_lua中的consul接口的接口目录概述依赖项方法新插件 。get_decodedget_json_decoded把了删除get_client_body_reader

Global site tag (gtag.js) - Google Analytics