如何在Ubuntu上配置Redis的另一个实例?


8

我基本上想在Ubuntu上有2个Redis实例。我查看了/etc/init.d/redis-server脚本,并尝试创建一个指向另一个配置文件(新端口等)的新脚本(redis-server-dev),但是它似乎没有用。

正确的程序是什么?

谢谢


我发现了这个debian.org/doc/debian-policy/ch-opersys.html#s-sysvinit可以解释这些脚本的工作原理,但是我仍然不知道如何创建新实例。

Answers:


19
  • 创建一个新的配置文件/etc/redis/redis-new.conf(从redis.conf复制)并在新的配置中更改这些字段
    • pid文件
    • 港口
    • 日志文件
    • dir(用于默认数据库)
  • 创建一个新文件/etc/init.d/redis-server-new(从文件redis-server复制)并在新文件中更改这些字段
    • 名称
    • pidfile(与步骤1中的配置文件相同)
    • deamon_args(步骤1中配置文件的路径)。
  • 创建所需的目录mkdir /var/lib/redis-new (并为其赋予适当的权限chown redis:redis /var/lib/redis-new
  • 使新文件可执行: chmod +x /etc/init.d/redis-server-new
  • 注册新的守护进程: update-rc.d redis-server-new defaults

我收到此错误:#update-rc.d redis-server-dev默认为insserv:脚本redis-server-dev:服务redis-server已提供!insserv:现在退出!
Bobby S

5

除了Dan的答案

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

# 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

0

还有另一种方法,我们可以使用位于https://github.com/antirez/redis/blob/3.0/utils/install_server.sh的安装脚本(如果您从源代码编译了redis,则随源代码一起提供),有2个模板文件:

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

您只需告诉要在其上运行新实例的端口(还有其他可配置的选项,但可以使用默认值),其余的文件放置将自动完成。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.