Linux搭建Redis
查看Linux服务器
uname -m
如果输出是 x86_64
,则表示您的系统是 x86_64(64 位)。如果是 i386
或 i686
,则表示您的系统是 32 位 x86 架构。ARM 架构通常显示 arm
。
![image-20240617161459363](https://img-blog.csdnimg.cn/img_convert/d45541c766416b8200af4e85a33e0c6f.png)
查看是否有C语言环境
因为Linux是使用C语言开发的缓存服务,他读写速度非常的快,因为他是存储在内存中的,每秒可以处理10万以上读写。
# 查看是否可以执行,必须支持TLS make
安装GCC-C语言环境
注意:这个建议使用yum一键安装,因为太多乱七八糟的依赖了所以建议一键安装
yum install gcc -y
安装make环境
# 出现选择直接选择y回车即可
sudo yum install make
下载并且安装Redis
创建文件夹
cd / mkdir redis
上传文件到服务器上面并且放到刚刚创建文件夹中
这里不过多的赘述如何上传到文件到服务器,一般使用SFTP就可以,也可以根据不同的软件一般自带文件上传的功能。
解压
tar -zxvf redis-7.2.5.tar.gz
![image-20240617175937385](https://img-blog.csdnimg.cn/img_convert/e4c6d1cabee8a07a5403bbefa45d3b84.png)
进入解压的文件接下来我们开始安装redis
![image-20240617175954401](https://img-blog.csdnimg.cn/img_convert/8e755a4a08a58347ee919757e0dfc6db.png)
安装&编译redis
# 之前测试过安装过了make
make MALLOC=libc
# 进入编译完成之后src目录
cd src
# 安装install
make install
启动redis查看是否安装成功
./redis-server
![]()
修改redis的配置使其远程连接
从src退出,进入到redis的文件中
cd .. vi redis.conf
编辑redis.conf配置文件
![image-20240619175929805](https://img-blog.csdnimg.cn/img_convert/1b721874b38f51066f05071a7dd2aa57.png)
修改配置使用VI搜索
输入 /bind 127.0.0.1 点击回车开始搜索,然后使用n下一个选择,N上一个选项(注意斜杠和输入的内容中间没空格)
![]()
#注释掉这部分,这是限制redis只能本地访问(使用字母a可以操作install) # bind 127.0.0.1
![]()
#默认yes,开启保护模式,限制为本地访问(设置成no) protected-mode no
![]()
#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,设置为yes的话会导致「系统服务启动失败」 daemonize no
![]()
#redis持久化-(可选) appendonly yes
![]()
# 设置密码为root requirepass root
详细操作如下
#注释掉这部分,这是限制redis只能本地访问
# bind 127.0.0.1
#默认yes,开启保护模式,限制为本地访问
protected-mode no
#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,设置为yes的话会导致无法使用系统服务启动
daemonize no
#redis持久化(可选)
appendonly yes
#设置密码 - 注释掉表示不设置密码。
requirepass 123456
启动Redis使其可以远程连接
# 查看目录进入redis目录
cd /redis/redis-7.2.5
# 启动Redis并且增加配置信息(应用配置)
./src/redis-server redis.conf
![image-20240621144846213](https://img-blog.csdnimg.cn/img_convert/dd5638bf8a6b0f6b733bb448a639fb51.png)
系统内存超载警告⚠️
![image-20240621145053556](https://img-blog.csdnimg.cn/img_convert/3fe9b03b7c0b32cd18c7d2d3d07b8601.png)
1071:C 15 Mar 2024 12:13:36.775 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1’ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1’ for this to take effect.
启动临时允许超载
sysctl vm.overcommit_memory=1
配置永久允许内存超载
vi /etc/sysctl.conf
# 输入以下配置
vm.overcommit_memory=1
# 退出之后刷新配置
sysctl -p
![image-20240621145428383](https://img-blog.csdnimg.cn/img_convert/697f4fbc2b884414850219e1fb044d58.png)
注意:当你配置过之后使用:wq退出保存之后,如果配置成功,当使用「sysctl -p」刷新的时候下放会打印出来执行的结果,如图所示
启动Redis
还是使用加载配置的命令启动Redis并且查看是否运行成功
ps -ef | grep redis
![]()
测试远程连接
![image-20240621145830299](https://img-blog.csdnimg.cn/img_convert/a3d0206ffa0d440f1dbe8f450fad824a.png)
注意事项
若无法连接请检查是否开放了:6379端口(我的服务器关闭了防火墙,因为是内网所以开不开防火墙没什么影响)
# 开放端口 firewall-cmd --add-port=6379/tcp --permanent # 重启防火墙 systemctl restart firewalld
系统配置Redis使其可以开机启动
- 创建redis.service文件
# 当创建为(redis.service)的时候启动程序也需要用redis这个名称
sudo vi /etc/systemd/system/redis.service
- 编辑其内容
ExecStart : 启动方式以及配置文件地址
ExecStop:程序停止地址
User: 用户
Group: 组
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
ExecStart=/redis/redis-7.2.5/src/redis-server /redis/redis-7.2.5/redis.conf
ExecStop=/redis/redis-7.2.5/src/redis-cli shutdown
Restart=always
LimitNOFILE=10032
User=root
Group=root
WorkingDirectory=/redis/redis-7.2.5
[Install]
WantedBy=multi-user.target
- 编辑配置文件将daemonize设置成no
vi redis/redis-7.2.5/redis.conf
# 输入反斜杠查询daemonize
# 然后设置改值为no
- 刷新配置文件启动程序
#刷新配置程序
sudo systemctl daemon-reload
#启动redis
sudo systemctl start redis
#设置开机启动
sudo systemctl enable redis
#查看程序启动状态
sudo systemctl status redis
#停止redis
sudo systemctl stop redis
#重启redis
sudo systemctl restart redis
#关闭开机启动
sudo systemctl disable redis
#查看所有系统服务
sudo systemctl list-units --type=service
#列出所有服务器包括未运行的
sudo systemctl list-unit-files --type=service
#查看redis日志
sudo journalctl -u redis
#查看系统日志
sudo journalctl -b