Centos8安装Redis及初步使用

一、安装gcc依赖

由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装

 [root@localhost local]# yum install -y gcc 

 

二、下载并解压安装包

[root@localhost local]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz

[root@localhost local]# tar -zxvf redis-5.0.3.tar.gz

 

三、cd切换到redis解压目录下,再执行编译

[root@localhost local]# cd redis-5.0.3

[root@localhost redis-5.0.3]# make

 

四、安装并指定安装目录

[root@localhost redis-5.0.3]# make install PREFIX=/usr/local/redis

 

五、启动服务

5.1前台启动

[root@localhost redis-5.0.3]# cd /usr/local/redis/bin/

[root@localhost bin]# ./redis-server

 

5.2后台启动

从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录

[root@localhost bin]# cp /usr/local/redis-5.0.3/redis.conf  /usr/local/redis/bin/

 

修改 redis.conf 文件,把 daemonize no 改为 daemonize yes

[root@localhost bin]# vi redis.conf

后台启动

[root@localhost bin]# ./redis-server redis.conf

 

六、设置开机启动

添加开机启动服务

[root@localhost bin]# vi /etc/systemd/system/redis.service

复制粘贴以下内容:

[Unit]
Description=redis-serverAfter=network.target
[Service]
Type=forkingExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.confPrivateTmp=true
[Install]
WantedBy=multi-user.target

注意:ExecStart配置成自己的路径 

 

设置开机启动

[root@localhost bin]# systemctl daemon-reload

[root@localhost bin]# systemctl start redis.service

[root@localhost bin]# systemctl enable redis.service

 

创建 redis 命令软链接

[root@localhost ~]# ln -s /usr/local/redis/bin/redis-cli  /usr/bin/redis

测试 redis

 

服务操作命令

systemctl start redis.service   #启动redis服务

systemctl stop redis.service   #停止redis服务

systemctl restart redis.service   #重新启动服务

systemctl status redis.service   #查看服务当前状态

systemctl enable redis.service   #设置开机自启动

systemctl disable redis.service   #停止开机自启动

 

续:

1.redis命令

1 redis执行了make install后,redis的课执行文件都会自动复制到 /usr/local/bin 目录
2 redis-server        redis服务器
3 redis-cli            redis命令行客户端
4 redis-benchmark        redis性能测试工具
5 redis-check-aof        aof文件修复工具
6 redis-check-dump    rdb文件检查工具

2.停止 redis 命令 

# 停止Redis命令
redis-cli shutdown

3.启动 redis 命令

(1). # 启动 redis-server

redis-server

(2). # 带配置文件启动

# 注意配置文件路径
redis-server ./redis.conf 

 

(3). # 带配置文件启动 且指定某几个配置 配置名称前加 -- 

# 配置后台启动,且端口是 1123
redis-server ./redis.conf --daemonize yes --port 1123

 会覆盖配置文件里面的值

4.redis命令行客户端

(1).发送命令

1 第一种方式
2 发送命令,如 redis-cli shutdown
3 第二种方式:主要用这种模式
4 进入交互模式,默认是127.0.0.1和6379端口
5 可以指定 redis-cli -h 127.0.0.1 -p 6379

注意:框里面的是 6379 里面没有登录成功,下面改成了 1123 成功了,因为刚才上面改了端口

(2).命令返回值

状态回复:pong表示可用

错误回复:不知道这个什么命令

整数回复:多种命令会回复整数

下面的字符串回复,都是赋值了才有。

字符串回复:

多行字符串回复:

 

5.远程连接

        下载客户端工具RedisDesktopManager,本地电脑初次连接服务器上的redis,肯定连不上。原因是Redis默认只支持本地链接,输入进程命令查看得知 127.0.0.1:6379  默认只限服务器本机ip。

把集群的redis全部kill命令全部kill掉,问题解决:编辑redis.conf配置文件;注释掉61行本地链接限制以及80行配置修改为no

61 # bind 127.0.0.1
80 protected-mode no

sudo vi /usr/local/redis/etc/redis.conf
# 注释掉bind 127.0.0.1,bind用于限制访问Redis的机器ip,直接关掉,方便后续做集群或其他客户端进行连接
# bind 127.0.0.1

# 修改daemonize no为yes,让Redis可以后台启动
daemonize yes

# 配置日志文件目录logfile ""
logfile "/usr/local/redis/log/redis_log.log"

# 为Redis添加服务密码# requirepass foobared,这里我们将密码设置为123456
requirepass 123456

# 修改rdb文件存储路径,rdb文件是Redis默认的数据持久化到磁盘的文件,默认配置为dir ./,则存储在相对目录
# 即每次运行redis-server的目录,这里我们修改为绝对路径,以便于后续的管理
dir /usr/local/redis/rdb/

#:wq 保存并退出

读取最新配置文件并重启,查看Redis进程情况!都开放IP链接权限了,怎么还是127.0.0.1:6379!!再查看进程情况:

wl@ubuntu:~/hproj/redis-3.0/cluster$ ./redis-start.sh 
wl@ubuntu:~/hproj/redis-3.0/cluster$ ps -ef | grep redis
wl  14200 1416 0 14:00 ?  00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7000 [cluster]
wl  14201 1416 0 14:00 ?  00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7002 [cluster]
wl  14202 1416 0 14:00 ?  00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7001 [cluster]
wl  14205 1416 0 14:00 ?  00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7004 [cluster]
wl  14207 1416 0 14:00 ?  00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7003 [cluster]
wl  14211 1416 0 14:00 ?  00:00:00 /home/wl/hproj/redis-3.0/redis-3.2.6/src/redis-server *:7005 [cluster]
wl  14225 8680 0 14:01 pts/21 00:00:00 grep --color=auto redis

哇塞,*.6379,这意味着已经成功开放IP访问权限了。万事俱备,只欠点击RedisDesktopManager客户端测试链接按钮了。好,走起。

当你信心满满的时候,现实总泼你一盆冷水来清醒!链接失败,链接失败,我都不好意思截图上传了!!这又是闹哪样啊?还让我活不???

左思右想,突然,我想到一个词——防火墙

[root@Karle src]# service iptables status
表格:filter
Chain INPUT (policy ACCEPT)
num target  prot opt source    destination   
1 ACCEPT  all -- 0.0.0.0/0   0.0.0.0/0   state RELATED,ESTABLISHED 
2 ACCEPT  icmp -- 0.0.0.0/0   0.0.0.0/0   
3 ACCEPT  all -- 0.0.0.0/0   0.0.0.0/0   
4 ACCEPT  tcp -- 0.0.0.0/0   0.0.0.0/0   state NEW tcp dpt:22 
5 ACCEPT  tcp -- 0.0.0.0/0   0.0.0.0/0   state NEW tcp dpt:8080 
6 ACCEPT  tcp -- 0.0.0.0/0   0.0.0.0/0   state NEW tcp dpt:80 
7 ACCEPT  tcp -- 0.0.0.0/0   0.0.0.0/0   state NEW tcp dpt:3306 
8 ACCEPT  tcp -- 0.0.0.0/0   0.0.0.0/0   state NEW tcp dpt:15672 
9 REJECT  all -- 0.0.0.0/0   0.0.0.0/0   reject-with icmp-host-prohibited

编辑Linux防火墙

1

[root@Karle src]# vi /etc/sysconfig/iptables

 

加入防火墙规则:-A INPUT -m state –state NEW -m tcp -p tcp –dport 6379 -j ACCEPT

1

[root@Karle src]# service iptables status

重启Linux防火墙

1

[root@Karle src]# service iptables restart

点击 “测试连接” 按钮测试连接,显示 “连接Redis 服务器成功”,问题解决了。

在此过程中并不顺利,主要就是缺少iptables命令和防火墙更换   

1.发现iptables命令不能执行  Redirecting to /bin/systemctl status iptables.service Unit iptables.service could not be found.

centos

service iptables status 报错
  • 1
Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.

解决办法

 

yum install iptables-services

2.启动iptables时报Job for iptables.service failed because the control process exited with error code

解决办法

因为centos7默认的防火墙是firewalld防火墙,不是使用iptables,因此需要先关闭firewalld服务,或者干脆使用默认的firewalld防火墙。

因为这次报错的服务器是一台刚刚购买的阿里云服务器,所以在操作上忘记关闭默认防火墙的步骤了才导致浪费了些时间在这件事情上。

关闭firewalld:

 
  1. systemctl stop firewalld

  2. systemctl mask firewalld

使用iptables服务:

 
  1. #开放443端口(HTTPS)

  2. iptables -A INPUT -p tcp --dport 443 -j ACCEPT

  3.  
  4. #保存上述规则

  5. service iptables save

  6.  
  7. #开启服务

  8. systemctl restart iptables.service

正常启动!!!!

 

续:

可进入redis安装目录  cd /usr/local/redis/bin 下,执行 ./redis-cli   

因为设置密码了,所以 需要填写密码(我的密码是123456)    auth 123456

输入命令ping ,便能得到响应 pong

如测试key=abc的值,输入命令 get abc   便能得到abc对应的value值。

想退出,输入 exit即退出来了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值