我基本上想在 Ubuntu 上安装 2 个 redis 实例。我查看了/etc/init.d/redis 服务器脚本并尝试创建一个指向另一个配置文件(新端口等)的新脚本(redis-server-dev),但它似乎不起作用。
正确的程序是什么?
谢谢
答案1
- 创建一个新的配置文件
/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
答案2
添加到丹的回答,
根据日志文件中的这个错误,我们必须创建一个额外的目录
# 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
答案3
还有另一种方法,我们可以使用位于的安装脚本https://github.com/antirez/redis/blob/3.0/utils/install_server.sh(如果你已经从源代码编译了 redis,则附带源代码),有 2 个模板文件:
redis_init_script.tpl
(位于 utils 目录中)redis.conf
(位于../
源代码中的 utils 目录中
您只需告诉要在哪个端口上运行新实例(还有其他可配置的选项,但可以使用默认值),其余文件的放置将自动完成。