redis_lua_nginx环境配置过程

redis仅作为第三方组件,工作中配合高效的lua_nginx模式,在很大限度上利用redis作为缓存和队列的优点;

以下是自己配置过程总的概括性步骤,不是很详细;

[Nginx_lua_redis环境]

第一步:
LuaJIT 安装
    # wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz

    新建/etc/ld.so.conf.d/usr_local_lib.conf文件指定lib库 /usr/local/lib;
    执行ldconfig命令,重建conf缓存;

    这里需要配置下LuaJIT的调用环境,
    #make install 之后,Luajit 的include文件默认在/usr/local/include/Luajit-2.0下
    这个时候网上一般是推荐export LUAJIT_INC=/usr/local/include/Luajit-2.0再ldconfig,
    但实际上很多还是无效,在编译其它依赖luajit的文件时提示找不到lua.h和lauxlib.h文件,
    那么就需要下面这么做:
    #cd /usr/local/include/Luajit-2.0
    #cp * ../
    这里把Luajit-2.0下的所有.h文件放到/usr/local/include目录下,这样gcc/++就会自动
    寻找到该位置.


第二步: 下载套件
nginx-lua和nginx-http-redis 模块(淘宝团队实现的):
    # git clone https://github.com/chaoslawful/lua-nginx-module.git
    # git clone https://github.com/agentzh/redis2-nginx-module.git
    以上两文件以备nginx模块编译配置;

nginx配置:
# ./configure --prefix=/usr/local/nginx \
    --add-module=../lua-nginx-module \
    --add-module=../redis2-nginx-module \

lua-redis 模块(淘宝团队实现的):
    #git clone https://github.com/agentzh/lua-resty-redis.git
    把/lib目录下的redis.lua文件拷贝到ngingx/conf目录下;
    该文件指定lua操作redis的一套方法,区别于上面的nginx-http-redis模块;

以上环境配置完就可以在nginx服务上, 通过lua脚本调用redis库进行数据操作了.
以上还需要cjson库来完成操作.


[lua_redis环境]

以下是lua和redis相关的调用库:

1.lua-redis-parser 库(lua库):
    # git clone https://github.com/agentzh/lua-redis-parser.git
    # make CC=gcc
    # make install CC=gcc

2.redis-lua 库
    # git clone https://github.com/nrk/redis-lua.git
    # cp redis-lua/src/redis.lua /usr/share/lua/5.1

3.json-lua 库
    # wget http://files.luaforge.net/releases/json/json/0.9.50/json4lua-0.9.50.zip
    # unzip json4lua-0.9.50.zip
    # cp json4lua-0.9.50/json/json.lua /usr/share/lua/5.1/

实际安装过程中可以此为蓝本对照不同Linux配置环境做改动;

posted @ 2017-02-09 14:19  foundwant  阅读(407)  评论(0编辑  收藏  举报