合集 – 代码知行(1)
1.双系统Redis安装保姆级教程07-11
收起
Hello, 这里是专注技术分享的意欢~
本篇将从 Linux(Ubuntu为例) 和 Windows 两个平台讲解 Redis 的安装和部署, 文中重点针对 Redis 的安装, 采用单机部署的方式启动.
Linux将以最纯干净的系统环境开始, 从源码获取到编译环境安装再到运行配置手把手教学.
Windows平台将从github获取已经编译好的软件进行安装
Linux 平台
一. 源码获取
在 Redis 的官网 redis.io 可以轻松找到下载入口.
进入下载页面后是 redis 提供的企业级应用工具, 要使用开源免费版本需要在下面找到 Install Redis from source
一栏, 下面提供的是多个不同的版本, 包括最新的非稳定版本, 这里建议使用的是稳定版本, 即 stable release
.
二. 编译源码
将tar包下载下来后在Linux系统下就可以进行解压并编译了.
2.1 安装编译环境
redis使用c语言开发, 测试和调试工具采用的是TCL, 所以在编译 Redis 之前需要先安装C语言编译器和TCL.
此外还 Redis 还需要通过 pkg-config 来获取编译相关信息
sudo apt install -y gcc tcl pkg-config
注:
如已经安装了
GCC
,pkg-config
或者是TCL
也可以放心执行该命令, 不会产生任何冲突如出现
could not get lock /var/lib/dpkg/lock-frontend
, 是因为 apt 工具在执行其他任务, 大概率是更新Ubuntu
的软件, 等待更新完毕或者是中止更新即可
2.2 解压redis的源码压缩包
# 后面的文件名需要自行确保无误,
# 最好使用tab补全
sudo tar -zxvf redis-stable.tar.gz
2.3 构建 redis
redis 解压后的文件夹中包含一个makefile, 可以使用make工具直接进行构建.
# 进入文件夹之后直接执行make
sudo make && sudo make install
注:
如果系统没有make工具需要先安装make工具
sudo apt install -y make
make 是一个编译和安装软件的过程, 这个过程会消耗相当一段时间, 耐心等待吧~
当看到有提示为:
INSTALL redis-server
INSTALL redis-benchmark
INSTALL redis-cli
则表示make和make install都完成了
三. 单机启动测试
3.1 前台启动
构建完成之后在 /usr/local/bin
目录下会出现 redis
.
因为 redis-server
被安装在该目录下, 所以在任何位置执行 redis-server
都能够启动, 但是该目录是需要 root
用户才有权限写入的, redis运行在退出之前需要将数据进行持久化, 为了避免无法退出, 需要使用 root 用户执行
sudo redis-server
不出意外你将能够看到 redis
的logo
此时 Redis 只能够单机访问, 并且是前台运行, 只要终端关闭 Redis 也会停止运行
3.2 后台启动
为了让 redis
能够远程访问(毕竟 Redis 作为数据库肯定是要给服务器接入使用的), 需要对 redis 的运行配置做一定修改
在最开始解压源码出来的文件夹中就存在一个redis的配置文件, 我们只需要修改该配置文件然后指定使用该配置运行redis即可
保险起见需要先拷贝一份备份以防配置文件编写错误
cd ~/develop/redis-stable # 进入源码目录
cp ./redis.conf ./redis.conf.copy
个人习惯将源码和软件分开放置, 所以我会在家目录下创建相应软件的工作目录
mkdir ~/develop/redis
mkdir ~/logs/redis
# 将配置文件搬到工作目录中
cp ~/develop/redis-stable ~/develop/redis
ip限制解除
# 将 bind 127.0.0.0 -::1,
# 127.0.0.1限制了ip只能是本机访问
# 修改为
bind 0.0.0.0
端口修改
# 默认端口为 6379, 可以根据需要自行修改
port 6379
后台启动
# 以守护进程方式启动,
# 类似Java的守护线程, 即后台运行
daemonize yes
pid文件位置修改
# pidfile /var/run/redis_6379.pid
pidfile /home/sika/develop/redis/redis_6379.pid
redis工作位置
# 工作目录默认是在当前目录,
# 会将日志、持久化文件等保存在此
# dir ./
# 修改为自己家目录下对应的位置
dir /home/sika/develop/redis
最大内存
maxmemory 512mb
日志位置
logfile "/home/sika/logs/redis.log"
指定配置文件启动
# 任意位置下运行即可, 运行后保存数据退出,
# 查看配置的内容是否生效
redis-server ~/develop/redis/redis.conf
因为设置了后台运行, 执行上面的启动命令后不会有任何提示
此时就证明Redis配置无问题, 启动成功
你会注意到有这样一个提示:
WARNING Memory overcommit must be enabled!
这是因为 Redis 检测到系统的内存过量使用 (Memory Overcommit) 功能未启用。内存过量使用是指允许操作系统分配比实际可用内存更多的内存。启用内存过量使用可以让 Redis 处理大内存需求时更灵活,但也有可能导致系统因内存不足而崩溃。
要启用内存过量使用,你需要调整 Linux 内核的配置。
编辑 /etc/sysctl.conf
文件
sudo vim /etc/sysctl.conf
在文件末尾添加以下行:
# Redis的警告要求必须为1
vm.overcommit_memory = 1
然后执行以下命令使配置生效:
sudo sysctl -p
以下是 overcommit_memory
参数的不同取值和含义:
0
: 让内核根据内存的可用性来决定是否允许内存过量使用。默认值。
1
: 始终允许内存过量使用。
2
: 只有在有足够的交换空间时才允许内存过量使用。
修改系统配置后重启redis查看是否还会有警告信息
# 使用redis-cli连接服务器后停止redis
$> redis-cli -a 123456 # 123456需要替换为你配置的密码
# 测试连接和服务器状态都正常
127.0.0.1:6379> ping
PONG # 如果响应此信息则没问题
127.0.0.1:6379> SHUTDOWN
清空日志文件
$> echo "" > ~/logs/redis.log
# 重启redis查看警告信息
redis-server ~/develop/redis/redis.conf
警告信息已经消除, 单机运行无问题.
四. 开机自启
源码编译和安装只是将软件安装到系统中, 不会自行注册系统服务. 要让redis能够成为系统服务需要手动编写服务脚本.
新建系统服务文件
sudo vim /etc/systemd/system/redis.service
编辑启动脚本
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /home/sika/develop/redis/redis.conf
privateTmp=true
[Install]
WantedBy=multi-user.target
重载系统服务让服务脚本生效
sudo systemctl daemon-reload
启动并查看服务状态
sudo systemctl start redis
sudo systemctl status redis
vim 清空日志文件内容 命令模式下 %d
也可以使用 echo “” > 日志文件名
如果能够看到绿色的avtice(running)则表示脚本编写无问题
开机自启动
sudo systemcel enable redis
如果脚本编写无问题, 会出现提示:
Created symlink /etc/systemd/system/multi-user.target.wants/redis.service -> /etc/systemd/system/redis.service.
看到此提示就表示将该服务链接到启动脚本中, 会在系统启动并准备好网络之后启动redis
Windows 平台
一. 软件获取
Redis 并没有直接提供 Windows 平台使用的版本, 可以自己进行源码编译使用.
但是微软也帮我们编译好了redis并且放在Github上, 可以自行取用
Releases · microsoftarchive/redis (github.com)
2021-2-20 已经归档, 不再更新
Release Redis for Windows 5.0.14.1 · tporadowski/redis (github.com)
这里选择 tporadowski
提供的redis版本, 从 release 页面下载zip包
二. 解压并运行
解压缩该包后就可以直接运行 redis-server.exe
为了方便启动redis, 可以将redis的根目录配置到 path
环境变量中, 任意位置都可以启动redis
复制redis根目录
打开系统配置页
找到 path 环境变量
添加redis目录
启动测试
按 win + r
, 打开运行窗口, 输入
# 使用密码123456 启动redis-server
redis-server --requirepass 123456
至此双平台redis安装完成, 感谢收看.