引言
建议使用普通权限安装,如果已经搭建过,有信心的,可以直接看这个,不用看下面啦
# 下载源码包
wget https://github.com/redis/redis/archive/7.2.3.tar.gz
# 编译
make PREFIX=路径
# 编译测试
make test
# 安装依赖
sudo yum -y install tcl
# 安装
make install
下载
进入/server/sourceCode
目录,这个是我放源码包的目录,然后使用命令下载源码包,-O是重命名文件
wget https://codeload.github.com/redis/redis/tar.gz/refs/tags/7.2.3 -O redis-7.2.3.tar.gz
然后解压源码包
tar -zxvf redis-7.2.3.tar.gz
解压后使用cd进入这个目录,然后使用ls就可以看到源码文件了
目录中有一个redis.conf
文件,这个文件是redis
的主配置文件
提醒:
由于redis
软件的特殊性,可以不经过编译就直接使用(也就是将文件包整个移动到你的存放目录,直接调用),主要操作就是直接cp -r 文件包 目标路径
然后就执行后续的启动和配置了
编译及安装
1. 编译
编译前先确认自己在源码包内,然后再执行编译,后面是安装目录,可以替换成你自己想要的
make PREFIX=/server/redis/7.2.3/
看到这个就说明已经编译成功
这个是提醒你可以进行一下编译测试,它是个好东西
2. 编译测试
执行编译测试
make test
诶,确实是个好东西,发现错误了,哈哈哈~
这个是说缺了一个依赖,那现在就下载吧
sudo yum -y install tcl
下载完成后重新编译测试
看到全是ok就说明可以了
3. 安装
执行安装命令
make install PREFIX=/server/redis/7.2.3/
看到这个后,就说明成功了
查看是否有bin目录生成
配置文件
把源码包的配置文件redis.conf
移动到安装目录
cp /server/sourceCode/redis-7.2.3/redis.conf /server/redis/7.2.3
然后进入安装目录,编辑配置文件
vim redis.conf
在配置文件中,写入以下配置,点击i
进入编辑
# 守护进程(就是你关掉ssh窗口之后,redis服务不会一块关掉)
daemonize yes
# 设置端口
port 指定端口号
# 设置使用密码
requirepass 你的密码
编辑完之后,:wq!
退出
运行测试
1. 尝试运行
启动之前先进入配置文件,把daemonize
参数改为no
输入命令启动
/server/redis/7.2.3/bin/redis-server /server/redis/7.2.3/redis.conf
然后你可能会遇到错误,先重新打开一个终端,执行查看命令看服务有没有启动
ps -aux | grep redis
成功看到进程了,现在来解决错误,先ctrl+c终止服务
2. 解决错误
这里看到了一个警告,一个错误
警告是让我们启用内存超量使用(memory overcommit)
错误是没有权限来写入这个PID文件
先解决警告的
输入命令打开这个文件,然后把这一行添加进去,然后启动这个东西
vim /etc/sysctl.conf
# 添加这个进去
vm.overcommit_memory = 1
# 启动
sudo sysctl vm.overcommit_memory=1
看到这个就说明启动成功了
现在来解决错误
打开你的redis配置文件redis.conf
,找到pidfile
指令,把它指向的路径目录改为/var/run/redis
然后输入命令添加目录以及修改权限
# 添加目录
sudo mkdir -p /var/run/redis
# 修改目录所属
sudo chown 指定用户名:指定用户组 /var/run/redis
# 修改目录权限
sudo chmod 755 /var/run/redis
然后重新启动redis,现在发现警告和错误都没有了
然后先ctrl+c终止服务,再次进入配置文件,把daemonize
参数改为yes
重新启动redis,这时候就可以发现它不会占用命令行了
3. 测试客户端连接
执行连接命令
/server/redis/7.2.3/bin/redis-cli -p 端口号
如果你的端口是默认的6379
,可以省略后面的参数
/server/redis/7.2.3/bin/redis-cli
进去之后,先输入密码
auth 你的redis密码
然后ping一下,如果出现下面这个,就说明配置成功了
至此,redis安装成功
Goodbye~