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