Nginx添加lua模块的实现方法

 更新时间:2019年11月28日 09:07:48   作者:13sai  
这篇文章主要介绍了Nginx添加lua模块的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

安装 lua

wget 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

etc/profile 加入

# lua
export LUAJIT_LIB=/usr/local/LuaJIT/lib 
export LUAJIT_INC=/usr/local/LuaJIT/include/luajit-2.0

source etc/profile

下载 ngx_devel_kit 模块

wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz

NDK (nginx development kit) 模块是一个拓展 nginx 服务器核心功能的模块,第三方模块开发可以基于它来快速实现。 NDK 提供函数和宏处理一些基本任务, 减轻第三方模块开发的代码量

下载 lua-nginx-module 模块

wget https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz 

lua-nginx-module 模块使 nginx 中能直接运行 lua

查看原始编译

nginx -V

如:
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --with-http_v2_module

进入 nginx 原始目录:

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --with-http_v2_module --add-module=/root/lua-nginx-module-0.10.9rc7/ --add-module=/root/ngx_devel_kit-0.3.0

只 make,不执行 make install。

编译报错应该就是 lua 环境变量不对。

nginx -V 命令报错
./nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

解决:
echo "/usr/local/LuaJIT/lib" >> /etc/ld.so.conf

ldconfig

成功之后可以 nginx -V 查看,无报错即可。

把原来的 nginx 备份为 nginx_old

cp objs/nginx 到原来的 nginx 并覆盖。

在编译目录执行

make upgrade

Nginx 添加 lua 模块

测试:

server{
 ...
 location /lua {
  default_type 'text/html';
  content_by_lua '
    ngx.say("hello, lua!")
  ';
 }
 ...
}

浏览器打开:

http://blog.13sai.com/lua

可以看到 hello, lua!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Nginx隐藏式跳转(浏览器URL跳转后保持不变)

    Nginx隐藏式跳转(浏览器URL跳转后保持不变)

    这篇文章主要介绍了Nginx隐藏式跳转(浏览器URL跳转后保持不变),需要的朋友可以参考下
    2022-04-04
  • 关于Nginx开启gzip的配置的问题

    关于Nginx开启gzip的配置的问题

    这篇文章主要介绍了关于Nginx开启gzip的配置的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 前端异常502 bad gateway的原因和解决办法

    前端异常502 bad gateway的原因和解决办法

    本文详细讲解了前端异常502 bad gateway的原因和解决办法,文中通过示例代码介绍的非常详细。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2021-12-12
  • 使用Nginx让网站快速置灰的方法

    使用Nginx让网站快速置灰的方法

    这篇文章主要介绍了使用Nginx让网站快速置灰的方法,首先是查看当前编译的版本是否支持http_sub_module模块,如果不支持需要重新编译增加此模块,具体配置方法参考下本文
    2023-11-11
  • 利用nginx解决cookie跨域访问的方法

    利用nginx解决cookie跨域访问的方法

    本篇文章主要介绍了利用nginx解决cookie跨域访问的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Nginx反向代理学习实例教程

    Nginx反向代理学习实例教程

    nginx作为web服务器一个重要的功能就是反向代理,当然你也可以使用nginx配置正向代理,这篇文章主要给大家介绍了关于Nginx反向代理的相关资料,需要的朋友可以参考下
    2021-10-10
  • 详解nginx过滤url实现前台js的配置问题

    详解nginx过滤url实现前台js的配置问题

    本篇文章主要介绍了nginx过滤url实现前台js的配置问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 解析prometheus+grafana监控nginx的方法

    解析prometheus+grafana监控nginx的方法

    ​在prometheus需要向ngxin中打入探针,通过探针获取ngxin信息,并通过接口输出。下文将讲述如何监控ngxin,感兴趣的朋友跟随小编一起看看吧
    2021-11-11
  • nginx打印请求头日志方法(亲测可用)

    nginx打印请求头日志方法(亲测可用)

    之前想用nginx打印收到的请求的请求头,但是只找到打印请求体的,没有打印请求头的,本文就来介绍一下nginx打印请求头日志方法,感兴趣的可以了解一下
    2023-11-11
  • nginx反向代理https内部定向到http报302的问题及解决

    nginx反向代理https内部定向到http报302的问题及解决

    这篇文章主要介绍了nginx反向代理https内部定向到http报302的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论