在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

posted @   初级码农123  阅读(1385)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示