Linux系统安装Redis

原文地址
为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐。

更多命令学习推荐:

Linux安装JDK分为两种:手动安装和yum安装。

1、下载Redis安装程序包

Redis官方网站手动下载,或命令下载:(也可以选择Redis中文网下载),或直接参考Redis官网下载安装说明

[xsge@localhost downfiles]$ wget http://download.redis.io/releases/redis-6.0.8.tar.gz

如果是手动下载,请使用XFTP将文件上传至Linux系统中。

Reids官网版本更新早与Redis中文网!!!

查看文件:ll

解压文件:tar -xvf redis-6.0.8.tar.gz

[xsge@localhost downfiles]$ ll      ####查看文件
总用量 190616
-rw-rw-r--. 1 xsge xsge  11282879 10月  6 22:33 apache-tomcat-9.0.39.tar.gz
-rw-r--r--. 1 root root      1664 4月   8 2020 CentOS-Base.repo.backup
-rw-rw-r--. 1 xsge xsge      4131 10月 15 11:25 jdk-8u261-linux-x64.tar.gz
-rw-rw-r--. 1 xsge xsge     26024 4月  25 2019 mysql80-community-release-el7-3.noarch.rpm
-rw-rw-r--. 1 xsge xsge 181613808 6月   3 18:08 mysql-community-server-5.7.31-1.el7.x86_64.rpm
-rw-rw-r--. 1 xsge xsge   2247528 9月  10 19:11 redis-6.0.8.tar.gz
[xsge@localhost downfiles]$ tar -xvf redis-6.0.8.tar.gz      ####解压Redis安装包

解压redis-6.0.8.tar.gz ,并把redis-6.0.8目录移动到/usr/local目录(或者opt目录:通常程序文件放置在/opt目录下)

 [root@localhost downfiles]#  mv  redis-6.0.8   /usr/local/redis-6.x    #推荐(如果redis-6.x目录不存在,请进入local目录新建:mkdir  redis-6.x)
  或者
 [root@localhost downfiles]#  mv  redis-6.0.8   /opt

2、安装

1、环境安装

Redis是C语言开发,安装Redis需要先将Redis的源码进行编译,编译依赖gcc环境。因此需要安装GCC,安装过程中有提示时,输入Y即可。(make命令必须在Redis程序目录下执行)
复制代码

####安装GCC环境
[root@localhost ~]# yum install gcc-c++
####查看GCC版本(ContOS7默认安装4.8.5版本)
[root@localhost ~]# gcc -v

####进入Redis程序目录
cd  /usr/local/redis-6.x
####make命令,下载环境并编译Redis程序(CentOS7执行会报错)
make

常见错误如下图:原因是因为gcc版本过低,yum安装的gcc是4.8.5的。因此需要升级gcc。升级gcc到5.3以上版本。(如果没有此错误忽略不计)
因为gcc版本过低,yum安装的gcc是4.8.5的。因此需要升级gcc。升级gcc到5.3以上版本。
CentOS7安装有默认GCC环境,默认4.8.5版本!编译 redis-6.x,要求 C5.3以上 编译器,否则会遇到大量的错误。主要原因是从 redis-6.x 开始的多线程代码依赖C标准库中的新增类型 _Atomic 。但是注意 gcc 从 4.9 版本才开始正式和完整地支持 stdatomic(gcc-4.8.5 部分支持)。centos7默认的 gcc 版本为:4.8.5 < 5.3 无法编译

2、升级GCC环境

虽然此次编译出错,但是仍有一些文件已经编译生成,所以建议清除已经编译的文件。(如果没有编译出错,忽略不计)(make命令必须在Redis程序目录下执行)
复制代码

# 当Redis编译出错时,使用命令清除已编译生成的文件(不执行也可以:不推荐)
make  distclean
####升级GCC环境为9版本
yum  -y  install  centos-release-scl
yum  -y  install  devtoolset-9-gcc  devtoolset-9-gcc-c++  devtoolset-9-binutils

-------环境设置----------
#临时有效,退出 shell 或重启会恢复原 gcc 版本
scl enable devtoolset-9 bash

#长期有效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

参考:GCC源码地址里面有GCC的各个版本,进入Redis中文网评论里也有网友说明GCC升级方式方法。
    
  2、Redis安装

参考官网安装说明!

1、进入Redis程序目录:cd /usr/local/redis-6.x/

2、编译Redis程序:make

3、安装Redis:make install

####进入Redis程序目录。
[root@localhost redis-6.0.8]# cd  /usr/local/redis-6.x/redis-6.0.8

####执行Redis程序编译
[root@localhost redis-6.0.8]# make

####执行安装
[root@localhost redis-6.0.8]#  make  install      ##将Redis安装在Linux默认位置:/usr/local/bin
或者(推荐)
[root@localhost redis-6.0.8]# make  install  PREFIX=/usr/local/redis-6.x     ##将Redis安装在指定位置: /usr/local/redis-6.x/bin   (bin是安装自动生成的)

####进入redis-6.x目录
[root@localhost redis-6.0.8]# cd  /usr/local/redis-6.x
####查看所有文件
[root@localhost redis6.x]# ls
bin  redis-6.0.8
####进入bin目录:查看安装的Redis命令
[root@localhost redis6.x]# cd bin
[root@localhost bin]# ll
总用量 46088
-rwxr-xr-x. 1 root root 6399120 10月 20 14:50 redis-benchmark
-rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-aof
-rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-rdb
-rwxr-xr-x. 1 root root 6727200 10月 20 14:50 redis-cli
lrwxrwxrwx. 1 root root 12 10月 20 14:50 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-server

4、配置Redis。

复制redis核心配置文件在安装命令目录中(默认位置在/usr/local/bin)。我在安装时选择了安装在指定位置(/usr/local/redis-6.x/bin),redis配置文件需要放在名录目录下。

说明redis配置文件:在redis程序目录中

####进入redis安装目录bin
[root@localhost bin]# cd /usr/local/redis6.x/bin/
####创建目录conf:用于存放配置文件
[root@localhost bin]# mkdir conf
####查看创建结果
[root@localhost bin]# ll
总用量 46088
drwxr-xr-x. 2 root root 6 10月 20 15:10 conf
-rwxr-xr-x. 1 root root 6399120 10月 20 14:50 redis-benchmark
-rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-aof
-rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-check-rdb
-rwxr-xr-x. 1 root root 6727200 10月 20 14:50 redis-cli
lrwxrwxrwx. 1 root root 12 10月 20 14:50 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 11351968 10月 20 14:50 redis-server
####复制Redis程序目录中的配置文件放入到redis命令所在conf目录中
[root@localhost bin]# cp /usr/local/redis6.x/redis-6.0.8/redis.conf /usr/local/redis6.x/bin/conf/
####进入redis命令conf目录
[root@localhost bin]# cd conf/
####查看配置文件
[root@localhost conf]# ll

-rw-r--r--. 1 root root 84642 10月 20 15:10 redis.conf

3、Redis启动测试

1、进入Redis安装目录bin

2、使用命令启动Redis服务(测试Redis服务会占用一个窗口)

####进入redis命令目录
[root@localhost ~]# cd /usr/local/redis6.x/bin/
####启动reidis服务:并指定使用的配置文件
[root@localhost bin]# ./redis-server conf/redis.conf
2414:C 20 Oct 2020 15:53:10.901 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2414:C 20 Oct 2020 15:53:10.901 # Redis version=6.0.8, bits=64, commit=00000000, modified=0, pid=2414, just started
2414:C 20 Oct 2020 15:53:10.901 # Configuration loaded
2414:M 20 Oct 2020 15:53:10.902 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 6.0.8 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 2414
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

3、新开连接窗口,启动客户端连接redis服务器

####进入reids命令目录
[root@localhost ~]# cd /usr/local/redis6.x/bin/
####启动客户端连接服务器:并指定端口
[root@localhost bin]# ./redis-cli -p  6379
####测试连接
127.0.0.1:6379> ping
PONG
####停止Redis服务,并断开连接
127.0.0.1:6379> shutdown
not connected> exit  #### 退出redis11 [root@localhost bin]#

4、配置Redis为后台启动

以上的Redis安装和启动可以算是临时服务,当开启服务后,Redis服务窗口是无法在使用的,可以将Redis服务设置为后台启动服务,避免Linux窗口连接的浪费。

1、VIM编译Redis配置文件redis.conf

2、开启Redis后台服务(默认是关闭的)

步骤1:vim /usr/local/redis6.x/bin/conf/redis.conf  #打开编辑

(键入命令 :set nu 显示行号)

步骤2:输入i、I、a等进入插入模式

步骤3:将daemonize no 改成daemonize yes(表示开启redis后台服务:约225行)

步骤4:按ESC退出插入模式,输入:wq 保存退出
在这里插入图片描述

3、测试

####启动redis服务
[root@localhost bin]# ./redis-server conf/redis.conf
####此时redis服务已经作为后台服务启动,不再占用窗口,直接在本窗口启用客户端测试连接
[root@localhost bin]# ./redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>

4、查看Redis服务进程

 ####查看进程服务,过滤获取redis的
 [root@localhost bin]# ps -ef | grep redis
 root       2811      1  0 16:23 ?        00:00:00 ./redis-server 127.0.0.1:6379
 root       2824   2352  0 16:23 pts/1    00:00:00 ./redis-cli -p 6379
 root       2854   1769  0 16:27 pts/0    00:00:00 grep --color=auto redis
 [root@localhost bin]# 

5、Redis的关闭

Redis客户端关闭或进程关闭(pkill redis)

[root@localhost bin]# ./redis-cli -p 6379    ##启动客户端连接Redis服务
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> shutdown      ##关闭服务端连接
not connected> exit         ##退出 或者
[root@localhost bin]# pkill redis    ##结束Redis进程

5、卸载

删除Redis安装和Redis解压的文件即可

 #删除安装目录
 rm  -rf  /usr/local/redis-6.x/redis-6.0.8
 #删除所有redis相关命令脚本
 rm  -rf  /usr/local/redis-6.x/bin/redis-* 

最后,附上设置查看redis密码的步骤

1、初始化Redis密码:
在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数;
比如 requirepass test123;
(Ps:需重启Redis才能生效)
redis的查询速度是非常快的,外部用户一秒内可以尝试多大150K个密码;所以密码要尽量长(对于DBA 没有必要必须记住密码);
2、不重启Redis设置密码:
在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。

redis 127.0.0.1:6379> config set requirepass test123

查询密码:

redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted

密码验证:

redis 127.0.0.1:6379> auth test123
OK

再次查询:

redis 127.0.0.1:6379> config get requirepass

  1. “requirepass”
  2. “test123”

PS:如果配置文件中没添加密码 那么redis重启后,密码失效;

3、登陆有密码的Redis:

在登录的时候的时候输入密码:

redis-cli -p 6379 -a test123

先登陆后验证:

redis-cli -p 6379

redis 127.0.0.1:6379> auth test123
OK

AUTH命令跟其他redis命令一样,是没有加密的;阻止不了攻击者在网络上窃取你的密码;

认证层的目标是提供多一层的保护。如果防火墙或者用来保护redis的系统防御外部攻击失败的话,外部用户如果没有通过密码认证还是无法访问redis的。

来自:http://weipengfei.blog.51cto.com/1511707/1217872


注意:使用云服务器搭建redis时,想要使用远程进行访问,除了需要开通redis中所配置的端口以外,还需要修改如下配置!

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值