1. 下载并安装redis
-
安装gcc相关依赖
Ubuntu提供了一个build-essential软件包,build-essential的依赖包中包含了gcc和g++,因此在这里直接安装build-essential
sudo apt update sudo apt install -y build-essential # 安装完毕后,检查gcc gcc --version
-
这里使用 6.0.16 版本的redis,直接在Linux中执行下列命令进行下载
wget https://download.redis.io/releases/redis-6.0.16.tar.gz
-
解压出下载的压缩包
sudo tar -zxvf redis-6.0.16.tar.gz
-
编译并安装redis
cd redis-6.0.16/ sudo make # 指定将redis安装到 /usr/local/redis 目录下 sudo make install PREFIX=/usr/local/redis
2. 配置redis
-
将配置文件复制一份到安装目录内
sudo cp ./redis.conf /usr/local/redis/
-
修改配置文件
cd /usr/local/redis sudo vim redis.conf
-
将
bind 127.0.0.1
注释掉 -
将
protected-mode
改为no,这样在不设置bind还有密码的情况下,也允许其他主机访问 -
将
daemonize no
改为daemonize yes
,开启守护进程,让redis能够在后台运行 -
设置log文件路径,简单用的话也可以不设置
-
更改db文件路径,默认是 “.” 这里改为安装路径
修改完成后保存退出
-
-
配置redis客户端软链接
sudo ln -s /usr/local/redis/bin/redis-cli /usr/bin
3. 注册系统服务
在wsl2中,Linux子系统无法使用 systemctl 命令,因此将服务注册到 /etc/init.d 中
cd /etc/init.d
sudo vim redis
将以下内容粘贴到文件内
#!/bin/sh
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/usr/local/redis/redis_6379.pid
CONF="/usr/local/redis/redis.conf"
REDISPORT="6379"
###############
# SysV Init Information
# chkconfig: - 58 74
# description: redis_6379 is the redis daemon.
### BEGIN INIT INFO
# Provides: redis_6379
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Should-Start: $syslog $named
# Should-Stop: $syslog $named
# Short-Description: start and stop redis_6379
# Description: Redis daemon
### END INIT INFO
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
status)
if [ ! -f $PIDFILE ]
then
echo 'Redis is not running'
else
echo "Redis is running ($(<$PIDFILE))"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Please use start, stop, restart or status as first argument"
;;
esac
保存后退出,如果路径不一样,请自行修改脚本内的路径。保存退出后将脚本权限改为 755
sudo chmod 755 redis
开启 redis 服务
sudo service redis start
查看redis运行状态
sudo service redis status
至此,redis安装完毕
4. wsl2中设置自动启动redis
可以自行编写一个bat,文件内容加入,开机后以管理员身份运行该脚本即可
# wsl -d 子系统名称 -u root service redis start
wsl -d Ubuntu-20.04 -u root service redis start