在WSL2上启动多个redis服务的方法

因为开发的需要,我需要在WSL2虚拟机上启动多个redis服务,这里把配置步骤记录下来,以便以后查询。

https://sanjuroe.dev/multiple-redis-databases#:~:text=In%20order%20to%20have%20multiple%20realRedis%20databases%20simply,the%20steps%3A%20Copy%20the%20file%20%2Fetc%2Fredis%2Fredis.conf%20to%20redis-myinstance.conf

有在Debian中安装多个redis服务的详细介绍。

如果是systemd方式,其实可以通过

systemct start redis@some-config

来使用不同的config文件来启动不同配置的redis服务

在WSL2上没有systemd服务,所以通过

systemctl start redis

这种方法是没办法启动服务的。

所以在WSL2上只能以老式的init.d方式启动服务,也就是在/etc/init.d目录下有一个服务的启动文件,然后通过

sudo /etc/init.d/redis-server stop
# or
sudo service redis-server stop

的方法才能对服务进行操作。

所以我基于本文开头的那篇文章结合init.d做了一个改进,可以在WSL2上启动多个redis服务。

安装默认的redis服务

第一步,使用命令sudo apt-get update更新软件源。
第二步,使用命令sudo apt-get install redis-server直接安装redis。
第三步,使用命令sudo service redis-server start开启redis服务。

sudo apt-get update
sudo apt-get install redis-server
sudo service redis-server start

准备第2个redis服务的配置文件

首先复制一份redis的基本配置文件。在WSL2上,受到文件系统权限的限制,所以复制的时候需要使用sudo,这样生成的文件的owner会变成root,所以后面记得要把owner改过来。

sudo cp /etc/redis/redis.conf /etc/redis/redis-second.conf
sudo ls -l /etc/redis/redis-second.conf
chown redis:redis /etc/redis/redis-second.conf

 然后编辑这份文件。WSL2 Debian自带的编辑器是nano,不是vi

sudo nano /etc/redis/redis-second.conf

找到

port默认值是6379,改成任意可用端口,比如6380
unixsocket

这一行默认是注释掉的,其实一般也没必要采用socket通讯。可以改成

/var/run/redis/redis-server-second.sock

最好不要加,而是保持注释

pidfile/var/run/redis/redis-server-second.pid
logfile/var/log/redis/redis-server-second.log
dbfilenamedump-second.rdb

新的pid文件会在运行时自动生成,不必担心。

新的log文件不会自动生成,所以必须要先手动生成。这里还会涉及到文件系统权限的问题,注意修改访问权限,同时还要注意修改owner

sudo touch /var/log/redis/redis-server-second.log
sudo ls -l /var/log/redis/
# 根据之前的redis.log文件的权限修改新生成的这个log文件的访问权限,在我的电脑上是550权限
sudo chmod 550 /var/log/redis/redis-server-second.log
# 另外文件的owner也要改成和之前的旧的log文件一致
sudo chown redis:adm /var/log/redis/redis-server-second.log

准备第2个redis服务的启动文件

先看看默认的redis的文件是怎么样的,为了避免有遗漏,这里使用了通配符

sudo ls -l /etc/init.d/redis*

可以看到/etc/init.d/redis-server的owner是root:root

复制该文件

sudo cp /etc/init.d/redis-server /etc/init.d/redis-server-second

然后编辑这个新的service文件

sudo nano /etc/init.d/redis-server-second

前面#开头的几行近乎注释,不会对服务的运行带来影响,只是给人看的一些注释内容,可以不改,但是为了将来不会理解错误,最好改掉。

把Short-Description的内容改成redis-server-second,把Description的内容改成redis-server-second

找到对应位置后修改

原内容改成
DAEMON=/usr/bin/redis-server不要动
DAEMON_ARGS=/etc/redis/redis.conf

DAEMON_ARGS=/etc/redis/redis-second.conf

NAME=redis-server

NAME=redis-server-second

DESC=redis-serverDESC=redis-server-second
RUNDIR=/var/run/redis不要动
PIDFILE=$RUNDIR/redis-server.pidPIDFILE=$RUNDIR/redis-server-second.pid

修改后,redis的第2个服务就安装好了

然后

sudo service redis-server-second start

就可以启动了。

管理的话,和其他service一样

WSL2上安装Redis的步骤如下: 1. 首先,你需要在WSL2中安装一个Linux发行版,比如CentOS8。这个发行版已经预安装了Redis,你可以通过以下命令查看安装路径和配置文件路径: - Redis安装路径:/usr/local/redis - Redis配置文件路径:/etc/redis.conf 引用 2. 确保你已经创建好了docker-compose.yml文件,其中包含了Redis的配置。以下是一个示例的docker-compose.yml文件: ``` version: '3.1' services: master: image: redis container_name: redis-master ports: - 7001:7001 volumes: - ./redis7001:/usr/local/etc/redis command: redis-server /usr/local/etc/redis/redis.conf slave1: image: redis container_name: redis-slave1 ports: - 7002: #### 引用[.reference_title] - *1* [WSL2+docker+redis 集群部署(1主2从)](https://blog.csdn.net/qq_41129489/article/details/124692931)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [CentOS8镜像(数据库):mysql5.7.38 redis-7.0.0 mongodb5.0.8](https://download.csdn.net/download/qq_38442140/85475466)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [WSL2+docker+redis 数据卷挂载部署](https://blog.csdn.net/qq_41129489/article/details/124684443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值