在centos7中安装redis
1. 使用wget下载gz包,安装成功如图所示 wget http://download.redis.io/releases/redis-6.0.3.tar.gz
2. 下载完毕之后进行解压
tar -zxvf redis-6.0.3.tar.gz
3. 进到解压后的redis目录中进行编译
Make
4. 编译时若出现以下提示,首次报错莫生气,下面还有报错
该错误仅仅说明未安装gcc,我们安装好就行了呗
5. 安装gcc,这时使用命令 yum install gcc
安装gcc中途会询问你是安装这个吗,输入y之后回车进行继续安装
6. 编译
安装好gcc之后,开开心心重新编译,什么鬼,又出现错误了,还跟之前不一样
稳住,莫慌莫慌,查看相关资源后发现CentOS7默认安装的是4.8.5,而redis6.0只支持5.3以上版本,原来是版本不支持呀,升级版本、升级
7. CentOS7默认安装的是4.8.5,而redis6.0只支持5.3以上版本,这里将gcc升级到9
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
8. gcc终于升级好了,这时千万别忘记要进行版本的切换,升级了新版本肯定是使用新版本喽
临时切换:scl enable devtoolset-9 bash
永久切换:echo “source /opt/rh/devtoolset-9/enable” >> /etc/profile
切换完成之后重新连接服务器生效,查看gcc版本 gcc -v
先临时切换,再输入永久切换
9. [root@cnetos7 src]# make install PREFIX=/usr/local/redis
报错信息如下:
CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
#include <jemalloc/jemalloc.h>
^
compilation terminated.
make: *** [adlist.o] Error 1
错误原因:
原因是jemalloc重载了Linux下的ANSI C的malloc和free函数
10.[root@cnetos7 src]# make MALLOC=libc
11. [root@cnetos7 src]# make install PREFIX=/usr/local/redis
测试成功,就是redis安装成功了
12. 移动配置文件到安装目录下
(1)cd ../ 在src目录下安装完成
(2)mkdir /usr/local/redis/etc 输入命令后会询问是否覆盖输入y
(3)mv redis.conf /usr/local/redis/etc 输入命令后会询问是否覆盖输入y
13.配置redis为后台启动
(1)输入命令行:vi /usr/local/redis/etc/redis.conf
进入编辑模式
(2)输入/(进行查询,n向下查找,N向上查找)
(3) //将daemonize no 改成daemonize yes
(4)输入:wq 保存退出
14. 将redis加入到开机启动
(1)输入命令:vi /etc/rc.local
(2)进入编辑模式:在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)
15. 开启redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
16.将redis-cli,redis-server拷贝到bin下,让redis-cli指令可以在任意目录下直接使用
cp /usr/local/redis/bin/redis-server /usr/local/bin/
cp /usr/local/redis/bin/redis-cli /usr/local/bin/
输入命令后会询问是否覆盖输入y
17.设置redis密码
a.运行命令:redis-cli
b.查看现有的redis密码(可选操作,可以没有)
运行命令:config get requirepass 如果没有设置过密码的话运行结果会如下图所示
c.设置redis密码
运行命令:config set requirepass lam7(****为你要设置的密码),设置成功的话会返回‘OK’字样
d.测试连接
(1)redis-cli -h 127.0.0.1 -p 6379 -a lam7 进入6379连接模式
(2)也可以先输入 redis-cli 进入命令模式 再输入 auth lam7
(3)按照上述方法设置密码只是临时设置,重启redis后就没有auth登陆了
(4)解决方案:在redis的配置文件中直接配置密码
(5)配置文件中有一行是这样的 :#requirepass foobared
(6)去掉注释,并且把foobared改为自己的密码lam7
(7)vi /usr/local/redis/etc/redis.conf
进入编辑模式
(8)输入/(进行查询,n向下查找,N向上查找)
(9) //将daemonize no 改成daemonize yes
(10)输入:wq 保存退出
18.重启redis的服务
启动redis,若你的redis已经启动,则先关闭,按以下方式进行关闭(关闭默认端口)
(1)停止redis(关闭默认端口):
./redis-cli shutdown
查找进程号并杀死进程:
(2)ps -aux|grep redis
(3)kill -9 23828 (后面有server的那个进程)
19. 让外网能够访问redis
a.配置防火墙: firewall-cmd --zone=public --add-port=6379/tcp --permanent(开放6379端口)
systemctl restart firewalld(重启防火墙以使配置即时生效)
查看系统所有开放的端口:firewall-cmd --zone=public --list-ports
firewall-cmd 这个命令也可以查看是否开放
(1) 如果不显示6379端口被开放的话:输入
(2) firewall-cmd --zone=public --add-port=6379/tcp
b.此时 虽然防火墙开放了6379端口,但是外网还是无法访问的,因为redis监听的是127.0.0.1:6379,并不监听外网的请求。
(1)把文件夹目录里的redis.conf配置文件里的bind 127.0.0.1前面加#注释掉
(2)命令:redis-cli连接到redis后,通过 config get daemonize和config get protected-mode 是不是都为no,如果不是,就用config set 配置名 属性 改为no。
(3) 上述中的(2)config get daemonize其实已经设置过了:虚拟机启动redis就启动,这个不用改,只需要改后面的config get protected-mode 为no
(4) 关闭redis,然后重启:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
(5) 用客户端连接redis,成功
20. redis常用命令
(1)#启动redis服务端
$ src/redis-server
(2)#启动redis客户端
$ src/redis-cli
(3)停止redis:
使用客户端:redis-cli shutdown
(4)因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的:kill -9 PID
(5)卸载redis:
rm -rf /usr/local/redis //删除安装目录
rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本
rm -rf /root/download/redis-4.0.4 //删除redis解压文件夹
21. 查看linux上面是否有安装redis,redis启动
(1)[root@localhost bin]# whereis redis-cli
(2)redis-cli: /usr/bin/redis-cli
(3)[root@localhost bin]# whereis redis-server
(4)redis-server: /usr/bin/redis-server
(5)如何查看redis服务正常启动?:ps aux | grep redis-server
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix