说明:本配置目的:增加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 号