【问题标题】:Running multiple instance of Redis on Centos在 Centos 上运行多个 Redis 实例
【发布时间】:2017-01-14 03:23:13
【问题描述】:

我想在 Centos 7 上运行多个 Redis 实例。 任何人都可以在此处指出正确的链接或发布步骤。

我搜索了相关信息,但没有找到任何相关信息。

【问题讨论】:

标签: redis stackexchange.redis node-redis redis-server


【解决方案1】:

您可以在一台机器上使用不同的端口运行多个 Redis 实例。如果这与您有关,那么您可以按照以下步骤操作。

通过安装第一个 Redis 实例,它默认侦听localhost:6379

为 Second Instance 创建一个新的工作目录

默认的Redis实例使用/var/lib/redis作为它的工作目录,如果你没有改变它,转储的内存内容会保存在这个名为dump.rdb的目录下。为了避免运行时冲突,我们需要创建一个新的工作目录。

mkdir -p /var/lib/redis2/
chown redis /var/lib/redis2/
chgrp redis /var/lib/redis2/

生成配置

通过复制/etc/redis.conf创建一个新的配置文件

cp /etc/redis.conf /etc/redis2.conf
chown redis /etc/redis2.conf

编辑以下设置以避免冲突

logfile "/var/log/redis/redis2.log"
dir "/var/lib/redis2"
pidfile "/var/run/redis/redis2.pid"
port 6380

创建服务文件

cp /usr/lib/systemd/system/redis.service /usr/lib/systemd/system/redis2.service

修改服务部分下的设置

[Service]
ExecStart=/usr/bin/redis-server /etc/redis2.conf --daemonize no
ExecStop=/usr/bin/redis-shutdown redis2

设置为开机启动

systemctl enable redis2

启动第二个 Redis

service redis2 start

检查状态

lsof -i:6379
lsof -i:6380

通过此操作,您可以启动两个 Redis 服务器。如果您想要更多,请再次重复这些步骤。

【讨论】:

  • 非常感谢这有帮助
  • 我还有一个问题。在“编辑以下设置以避免冲突”部分的最后一行“添加启动脚本”。这是什么意思?
  • 当我运行“service redis-6379 start”时,我收到以下消息 Redirecting to /bin/systemctl start redis-6380.service ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units = == 管理系统服务或单元需要身份验证。认证为:Ashish K(ashish) 密码:XXX 但redis服务器进程不存在
  • 编辑以下设置以避免冲突意味着您需要将单独的日志文件,pid文件,datadir设置为新的redis实例
  • 很抱歉给您带来不便,请不要考虑我错误提及的'添加启动脚本'。
【解决方案2】:

如果我设置为--daemonize no,插入数据时Redis会崩溃。

ExecStart=/usr/bin/redis-server /etc/redis2.conf --daemonize no

应该改为

ExecStart=/usr/bin/redis-server /etc/redis2.conf --监督系统

我的 Redis 是 5.0.7。

仅供参考。

【讨论】:

  • “--daemonize no”如何改变等式?
  • @OAH 你可以按照第一条评论一步一步来,vi /usr/lib/systemd/system/redis2.service 来改变方程式。
猜你喜欢
  • 1970-01-01
  • 2016-01-29
  • 2012-08-11
  • 2012-05-25
  • 1970-01-01
  • 2013-11-20
  • 2017-06-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多