将其他LUA模块安装到Redis中
我正在尝试让Redis允许EVAL(
http://redis.io/commands/EVAL)发出HTTP请求.
两个模块:LuaCURL和Luasocket提供此功能. Redis源代码有一个带有附加模块的目录(例如cjson)http://download.redis.io/redis-stable/deps/lua/src/,我尝试添加luacurl.c但是我收到错误后收到错误.我已经设法编译它启用os.execute – 通过编辑scripting.c – 它允许我运行curl命令,但这是一个糟糕的解决方案. 如何在Redis的Lua中编译HTTP请求? 大概最简单的方法就是拥有一个独立的luasocket.so文件,但我不知道该怎么做. 解决方法
不用担心,我所需要的只是睡一觉才能有一个清醒的头脑.
我下载了http://files.luaforge.net/releases/luacurl/luacurl并将luacurl.c移动到/ deps / lua / src /文件夹并从第23行编辑 #include <lauxlib.h> 至 #include "lauxlib.h" 然后在/ deps / lua / src / Makefile(Lua的makefile,而不是Redis的)转到第30行并找到 lua_cjson.o 在它旁边添加“luacurl.o”就像这样 lua_cjson.o luacurl.o 然后在/ src / Makefile(Redis的makefile,而不是Lua的)中更改第54行 FINAL_LIBS=-lm 至 FINAL_LIBS=-lm -lcurl 最后,确保已安装“yum install curl-devel”然后进行编译. 请记住,在服务器忙于使用Lua脚本时,没有其他客户端可以执行命令. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |