如何在Ubuntu上configuration另一个redis实例?

我基本上想在Ubuntu上有两个redis实例。 我查看了/etc/init.d/redis-server脚本,并试图创build一个新的(redis-server-dev)指向另一个configuration文件(新端口等),但似乎没有工作。

什么是正确的程序?

谢谢

  • 创build一个新的configuration文件/etc/redis/redis-new.conf (从redis.conf中复制)并在新configuration中更改这些字段
    • pidfile进程文件
    • 港口
    • 日志文件
    • 目录(默认数据库)
  • 创build一个新的文件/etc/init.d/redis-server-new (从redis-server文件中复制)并在新文件中改变这些字段
    • 名称
    • pidfile(与第1步中的configuration文件相同)
    • deamon_args(步骤1中configuration文件的path)。
  • 创build所需的目录mkdir /var/lib/redis-new (并赋予恰当的权限chown redis:redis /var/lib/redis-new
  • 使新文件成为可执行文件: chmod +x /etc/init.d/redis-server-new
  • 注册新的deamon: update-rc.d redis-server-new defaults

除了Dan的回答 ,

根据日志文件中的这个错误,我们必须创build一个额外的目录

 # Can't chdir to '/var/lib/redis-new': No such file or directory 

所以

 mkdir /var/lib/redis-new 

否则/etc/init.d/redis-server-new将不会启动。

不要忘记添加适当的权利

 chown redis:redis /var/lib/redis-new 

另外还有另外一种方法,我们可以使用https://github.com/antirez/redis/blob/3.0/utils/install_server.sh中的安装脚本(如果你已经从源代码编译redis,那么附带的源码)有2个模板文件:

  1. redis_init_script.tpl (位于utils目录中)
  2. redis.conf (位于源代码中utils的../目录中

您只需告知运行新实例的端口(还有其他可configuration选项,但可以使用默认值),文件的其他位置将自动完成。