掘金 后端 ( ) • 2024-05-02 17:57

theme: awesome-green

一. 虚拟机要求

本篇文章所依赖的软件或系统条件如下:

  • VMware虚拟机管理软件
  • Ubuntu 22.04 LTS desktop

准备好上述两样东西,即可开始。

二. 实验过程

设置静态IP

首先,进入VMware的首页,然后依次点击:编辑 -> 虚拟网络编辑器

image.png

点击更改设置

image.png

选择VMnet8 -> 更改子网IP为 192.168.11.0 -> 更改子网掩码为 255.255.255.0 -> 点击 NAT模式 -> 点击 NAT设置

image.png

修改网关IP为 192.168.11.1

image.png

然后一路确定退出。

接着,按Windows键 -> 输入查看网络连接 -> 选择VMnet8 -> 点击右键选择属性

image.png

双击Internet协议版本4

image.png

进行如下配置后,一路确定退出。

image.png

进入Ubutnu中设置IP地址,具体配置如下:

image.png

应用该配置后,先关闭网络连接再开启网络连接,然后我们就会发现,网络可以连接了。 如果网络还是没有连接,那么我们需要检查一下当前Ubuntu虚拟机是否是使用VMnet8网卡。

下载Redis源码

先创建一个目录,存储Redis源码:

sudo mkdir /Redis
cd /Redis

开始下载Redis源码:

wget http://download.redis.io/releases/redis-7.2.4.tar.gz

下载编译源码需要的工具:

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源码目录:

cd redis-7.2.4

自动读取分配给虚拟机的处理器个数,用来编译源码:

sudo make MALLOC=libc -j$(cat /proc/cpuinfo | grep "processor" | wc -l)

编译完成后,测试一下:

sudo make test -j$(cat /proc/cpuinfo | grep "processor" | wc -l)

测试完成后,没有一点错误,然后将生成的可执行文件(最终生成了一个bin目录,bin目录中是可执行文件)拷贝到想要放入到/usr/local/bin中:

sudo make install PREFIX=/usr/local/bin -j$(cat /proc/cpuinfo | grep "processor" | wc -l)

然后将bin目录的可执行文件转移到系统变量PATH所设置的路径中:

sudo mv /usr/local/bin/bin/* /usr/local/bin/

删除空目录bin:

sudo rm -r /usr/local/bin/bin

设置Redis自启动

转移到系统服务目录:

cd /etc/systemd/system

下载vim:

sudo apt install vim

使用vim来创建文件redis.service:

sudo vim redis.service

将以下内容复制进去并保存:

[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所有权限:

sudo chmod 777 redis.service

设置redis.service开机自启:

sudo systemctl enable redis.service

编辑redis.conf配置文件:

sudo vim /Redis/redis-7.2.4/redis.conf

修改两个设置并保存:

# 设置Redis使用守护进程来启动,即在后台启动
daemonize yes

# 跟随系统关闭而关闭,系统启动而重启
supervised systemd

然后我们重启系统:

sudo reboot

重启成功后,打开终端,测试一下Redis服务是否已经自启动:

redis-cli

发现Redis客户端成功连接上Redis服务端,呈现如下信息:

127.0.0.1:6379>

关闭Ubuntu的防火墙

Ubuntu默认安装了ufw,如果你没有安装,就试着安装一下:

sudo apt install ufw

根据以下命令和对应解释来进行调整:

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打开:

sudo vim /Redis/redis-7.2.4/redis.conf

配置修改如下:

# 将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的一个项目)来连接:

image.png

发现连接成功,并能看到数据:

image.png