nginx_lua_module 模块配置

想在nginx 做一个拦截转发的事情,刚刚开始想到的是负载均衡,发现负载均衡没有办法获取到请求,根据请求头进行进行转发数据,然后又开始找资料,刚刚好看到一个lua脚本语言配置的nginx的环境。
做为一名躺平程序员竟然要我学习新的知识,我的天啦!!! 过程实在可怕,于是乎我变成一个拿来主义。通过各种百度 C + V 工程师终于配置好了nginx_lua 模块

查看自己nginx 的编译配置

nginx -V

我的配置是相当简单就一个ssl的配置。后面一系列操作到现在的lua满配操作。
在这里插入图片描述

TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --add-module=/usr/local/soft/ngx_devel_kit-0.3.0 --add-module=/usr/local/soft/lua-nginx-module-0.10.12

不要怀疑以下代码全是拷贝!!! cv工程师 注意文件路径 这是原文链接

下载相关插件

1.下载安装LuaJIT 2.1(2.0或者2.1都是支持的,官方推荐2.1):http://luajit.org/download.html

cd /usr/local/soft
wget http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz
tar zxf LuaJIT-2.1.0-beta2.tar.gz
cd LuaJIT-2.1.0-beta2
make PREFIX=/usr/local/luajit
make install PREFIX=/usr/local/luajit

2.下载ngx_devel_kit(NDK)模块 :https://github.com/simpl/ngx_devel_kit/tags

cd /usr/local/soft
wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
tar -xzvf v0.3.0.tar.gz

3.下载解压lua-nginx-module

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

离配置完成也就一步之遥。

重新编译nginx

找到之前安装的nginx 压缩包,重新编译一次,而我编译的参数就是上面的 这些配置注意一下插件文件的路径就好了。

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6 --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib" --add-module=/usr/local/soft/ngx_devel_kit-0.3.0 --add-module=/usr/local/soft/lua-nginx-module-0.10.12

后面的–with-ld-opt="-Wl,-rpath,[加上luaJIT安装的路劲]",–add–module=/usr/local/sift/ngx_devel_kit-0.3.0这个是添加模块,一共是两个模块。

最后执行

make && make install

我总是不能一次成功

真的气,其他人都能够一次就安装成功,我安装总数操蛋要躺平的我不得不再次进行百度

错误1

真的是气人,竟然还有错误
这个错误要仔细的查看一下,我自己的的./configure 里面的编译文件路径少了一个-,导致一直找不到 /usr/local/luajit

	nginx,make: *** No rule to make target `build', needed by `default'. Stop.
--with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib"

不过作为躺平的我最先还是百度,无果后再继续。上链接
这些其实都是在我安装nginx 的时候就已经安装了。

错误2
	./configure: error: ngx_http_lua_module requires the Lua library.

说缺少什么依赖包,我一个躺平选手知道到锤子上链接
没错我就是安装了下面那个依赖。

yum install lua-devel
错误3

真的什么妖魔鬼怪都被我给遇上了,说的是一串C 写的代码 说什么类型不对,气的我啊。C代码怎么我怎么认得,当场就给这个上面的两个插件换了个版本。ngx_devel_kit 、 lua-nginx-module,最开始我安装的是0.2.19 和0.10.2
/usr/local/soft/lua-nginx-module-0.10.2/src/ngx_http_lua_headers.c
没想到还要瞎猫碰到死耗子了。
在这里插入图片描述

重新配置nginx.conf

在nginx.conf 测试一下能不能够加入lua代码


events {
	worker_connections  1024;
}
http { 

    include       mime.types;
    default_type  application/octet-stream;

   
	server {
		listen  8080;
		server_name 域名/或者ip;
		location /test {
			 	default_type 'text/plain';
        	## lua 语言执行阶段 往客户端输出
        	content_by_lua_block {
                ngx.say('hello world');
        	}		
		}
    }
}

保存文件后重启nginx 服务
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值