一. 虚拟机要求
本篇文章所依赖的软件或系统条件如下:
- VMware虚拟机管理软件
- Ubuntu 22.04 LTS desktop
准备好上述两样东西,即可开始。
二. 实验过程
设置静态IP
首先,进入VMware的首页,然后依次点击:编辑 -> 虚拟网络编辑器
点击更改设置
选择VMnet8 -> 更改子网IP为 192.168.11.0 -> 更改子网掩码为 255.255.255.0 -> 点击 NAT模式 -> 点击 NAT设置
修改网关IP为 192.168.11.1
然后一路确定退出。
接着,按Windows键 -> 输入查看网络连接 -> 选择VMnet8 -> 点击右键选择属性
双击Internet协议版本4
进行如下配置后,一路确定退出。
进入Ubutnu中设置IP地址,具体配置如下:
应用该配置后,先关闭网络连接再开启网络连接,然后我们就会发现,网络可以连接了。 如果网络还是没有连接,那么我们需要检查一下当前Ubuntu虚拟机是否是使用VMnet8网卡。
下载Redis源码
先创建一个目录,存储Redis源码:
bash
sudo mkdir /Redis
cd /Redis
开始下载Redis源码:
arduino
wget http://download.redis.io/releases/redis-7.2.4.tar.gz
下载编译源码需要的工具:
sql
sudo apt-get update
sudo apt update
sudo apt-get install -y gcc
sudo apt-get install -y g++
sudo apt-get install -y gcc automake autoconf libtool make
解压源码:
tar -zxvf redis-7.2.4.tar.gz
编译Redis源码
转入Redis源码目录:
bash
cd redis-7.2.4
自动读取分配给虚拟机的处理器个数,用来编译源码:
bash
sudo make MALLOC=libc -j$(cat /proc/cpuinfo | grep "processor" | wc -l)
编译完成后,测试一下:
bash
sudo make test -j$(cat /proc/cpuinfo | grep "processor" | wc -l)
测试完成后,没有一点错误,然后将生成的可执行文件(最终生成了一个bin目录,bin目录中是可执行文件)拷贝到想要放入到/usr/local/bin中:
bash
sudo make install PREFIX=/usr/local/bin -j$(cat /proc/cpuinfo | grep "processor" | wc -l)
然后将bin目录的可执行文件转移到系统变量PATH所设置的路径中:
bash
sudo mv /usr/local/bin/bin/* /usr/local/bin/
删除空目录bin:
bash
sudo rm -r /usr/local/bin/bin
设置Redis自启动
转移到系统服务目录:
bash
cd /etc/systemd/system
下载vim:
sudo apt install vim
使用vim来创建文件redis.service:
sudo vim redis.service
将以下内容复制进去并保存:
ini
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /Redis/redis-7.2.4/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
赋予redis.service所有权限:
bash
sudo chmod 777 redis.service
设置redis.service开机自启:
bash
sudo systemctl enable redis.service
编辑redis.conf配置文件:
bash
sudo vim /Redis/redis-7.2.4/redis.conf
修改两个设置并保存:
bash
# 设置Redis使用守护进程来启动,即在后台启动
daemonize yes
# 跟随系统关闭而关闭,系统启动而重启
supervised systemd
然后我们重启系统:
sudo reboot
重启成功后,打开终端,测试一下Redis服务是否已经自启动:
redis-cli
发现Redis客户端成功连接上Redis服务端,呈现如下信息:
makefile
127.0.0.1:6379>
关闭Ubuntu的防火墙
Ubuntu默认安装了ufw,如果你没有安装,就试着安装一下:
sudo apt install ufw
根据以下命令和对应解释来进行调整:
csharp
sudo ufw status #检查防火墙的状态
sudo ufw enable #开启防火墙
sudo ufw disable #关闭防火墙
sudo ufw default deny #设置默认拒绝访问
sudo ufw allow 53 #允许外部访问53号端口
sudo ufw delete allow 54 #禁用53号端口
sudo ufw allow from 192.168.1.100 #允许此IP访问所有的本机端口
sudo ufw delete allow from 192.168.1.100 #删除对此IP的批准
修改Redis配置文件
默认的Redis配置文件,是不允许远程连接的,只能在当前主机里连接,所以我们需要修改配置。先下载vim并使用vim打开:
bash
sudo vim /Redis/redis-7.2.4/redis.conf
配置修改如下:
shell
# 将bind 127.0.0.1 和 bind-source-addr 10.0.0.1 注释掉
# bind 127.0.0.1
# bind-source-addr 10.0.0.1
# 将保护模式取消掉
protected-mode no
#设置Redis密码为123456
requirepass 123456
远程连接测试
现在我们在Windows中可以连接到Redis了,如下所示,使用Tiny RDM(Github的一个项目)来连接:
发现连接成功,并能看到数据: