说明:本配置目的:增加opensips对 Redis 的支持。

一、步骤:

  1、Redis Server 安装。

  2、Hiredis Client 安装。Hiredis 是 Redis 官方指定的C语音客户端开发包,支持Redis 完整的命令集、管线以及事件驱动编程。

  3、Opensips Server 安装(我安装的是 1.11.1)。

二、详细说明:

  1、Redis Server 安装 ,请参考http://redis.io/topics/quickstart。(我安装的是 redis-2.6.14)

  2、Hiredis Client 安装:

    解压 redis-2.6.14.tar.gz ,  进入 redis-2.6.14 目录,找到 deps/ 目录。(如果没有该目录,请到redis官网下载)

    cd deps/hiredis/

    make

    make install

  3、Opensips Server 安装:

    解压 并 进入 Opensips 的安装包 , (默认安装在 /usr 目录下)

    如: cd  /usr/local/src/opensips-1.11.1-tls

    make 

    make include_modules="cachedb_redis" modules

    make include_modules="cachedb_redis" install

    检查是否有cachedb_redis.so :  ls /usr/lib64/opensips/modules/ ,如果有 OK,没有需要重新编译。

    opensipsctl start , 启动正常。

    在 /usr/etc/opensips/opensips.cfg 中添加  loadmodule "cachedb_redis.so"  , opensipsctl restart 正常启动就OK了。

    如果无法正常启动,log 文件中提示:

opensips: ERROR:core:sr_load_module: could not open module </usr//lib64/opensips/modules/cachedb_redis.so>: libhiredis.so.0.13: cannot open shared object file: No such file or directory、

     确认 libhiredis.so 文件是否在 /usr/lib 目录下,如果不是,cp 到 /usr/lib 目录下。 查看 ldconfig -v  ,重新生成 ldconfig /usr/lib .

     重新启动,如果还是无法启动,删除libhiredis.so.0.13 , 清除hiredis, 重新安装hiredis。 可以换成 libhiredis.so.0.11 版本。

四、配置文件说明:

loadmodule "cachedb_redis.so"
modparam("cachedb_redis", "cachedb_url","redis://root:auth_password@192.168.5.50:6379/0")

注: auth_password : 用来认证的密码

   192.168.5.50 : redis 所在的服务器IP 

        6379      :  redis  的端口号

    0            :  redis 的 DB 号