lua-resty-moongoo源码安装

1 安装lua-resty-moongoo

1.1 下载lua-resty-moongoo安装包

https://github.com/isage/lua-resty-moongoo,下载lua-resty-moongoo-master.zip包。

1.2 解压安装包,并把lib/resty/目录拷贝到openresty的lua_package_path所指定的目录下。

unzip lua-resty-moongoo-master.zip
cp -R lua-resty-moongoo-master/lib/resty/* /usr/local/zhishu_server/nginx/lua/ (这个目录要根据自已需求来)

1.3 试运行

local moongoo = require "resty.moongoo"

local mg, err = moongoo.new("mongodb://10.215.140.42:20000")
if not mg then
    ngx.log(ngx.ERR, "mongodb connect faield, err:", err)
    return util.make_response(0, "success", nil)
end

如果不报错,表示安装成功。如运行报错,且在error.log 日志下会发现错误原因是找不到cbson库:

4183 2018/06/28 10:09:39 [error] 6753#0: *75010363 [lua] content.lua:80: call content.main failed, errmsg: /usr/local/zhishu_server/nginx/lua/libs/resty/moongoo.lua:1: module 'cbson' not found:
4184     no field package.preload['cbson']
4185     no file '/usr/local/zhishu_server/lualib/cbson.lua'
4186     no file '/usr/local/zhishu_server/nginx/lua/libs/cbson.lua'
4187     no file '/usr/local/zhishu_server/nginx/lua/cbson.lua'
4188     no file '/usr/local/zhishu_server/nginx/lua/libs/cbson/init.lua'
4189     no file '/usr/local/zhishu_server/site/lualib/cbson.lua'
4190     no file '/usr/local/zhishu_server/site/lualib/cbson/init.lua'
4191     no file '/usr/local/zhishu_server/lualib/cbson.lua'
4192     no file '/usr/local/zhishu_server/lualib/cbson/init.lua'
4193     no file './cbson.lua'
4194     no file '/usr/local/zhishu_server/luajit/share/luajit-2.1.0-beta2/cbson.lua'
4195     no file '/usr/local/share/lua/5.1/cbson.lua'
4196     no file '/usr/local/share/lua/5.1/cbson/init.lua'
4197     no file '/usr/local/zhishu_server/luajit/share/lua/5.1/cbson.lua'
4198     no file '/usr/local/zhishu_server/luajit/share/lua/5.1/cbson/init.lua'
4199     no file '/usr/local/zhishu_server/lualib/cbson.so'
4200     no file '/usr/local/zhishu_server/nginx/lua/cbson.so'
4201     no file '/usr/local/zhishu_server/nginx/lua/libs/cbson.so'
4202     no file '/usr/local/zhishu_server/site/lualib/cbson.so'
4203     no file '/usr/local/zhishu_server/lualib/cbson.so'
4204     no file './cbson.so'
4205     no file '/usr/local/lib/lua/5.1/cbson.so'
4206     no file '/usr/local/zhishu_server/luajit/lib/lua/5.1/cbson.so'
4207     no file '/usr/local/lib/lua/5.1/loadall.so', client: 127.0.0.1, server: 

这是因为没有安装lua-cbson,安装步骤如下。

2 安装lua-cbson

安装lua-cbson要先安装libbson, 这是一个c库, lua-cbson是对其的一个封装。

2.1 安装libbson

2.1.1 下载libbson

https://github.com/mongodb/libbson (在releases下选择想装的版本, 这里我直接下载的是master)

2.1.2 解压安装包并安装

unzip libbson-master.zip
cd libbson-master
./autogen.sh
make && make install

2.2 安装lua-cbson

2.2.1 下载lua-cbson

https://github.com/isage/lua-cbson

2.2.2 解压并安装

unzip lua-cbson-master.zip
cd lua-cbson-master
cmake -DLUA_INCLUDE_DIR=/usr/local/zhishu_server/luajit/include/luajit-2.1 -DLUA_LIBRARIES=/usr/local/zhishu_server/luajit/lib -DUSE_LUAJIT=ON -DUSE_LUA=OFF

注:LUA_INCLUDE_DIR 和LUA_LIBRARIES要指定自已openresty所在位置的路径

3 安装成功

done

猜你喜欢

转载自blog.csdn.net/fengshenyun/article/details/107467253