centos7安装redis6.0.9,编译,安装,启动,停止,处理各种坑,各种bug

  1. 下载镜像:redis-6.0.9.tar.gz;
  2. 在home下新建redis文件夹,然后进入redis文件夹,新建文件夹命令:mkdir /usr/local/redis/
    [root@localhost redis]# cd /home/redis/
    [root@localhost redis]#

    用winscp软件将软件拷贝到redis文件夹,【如果不知道怎么拷贝,可以参考:https://blog.csdn.net/xiaoxinla/article/details/110498259】:

  3. 也可以进入到redis/路径下,执行下载命令:

    wget https://download.redis.io/releases/redis-6.0.9.tar.gz
  4. 使用命令解压镜像:tar xzf redis-6.0.9.tar.gz

  5. 第一次使用时需要安装编译环境,命令是:yum -y install make automake cmake gcc g++

  6. 进入redis-6.0.9文件夹,编译redis,命令是:

    [root@localhost redis]# cd /usr/local/redis/redis-6.0.9
    ####我是注释:在这个网站上https://www.cnblogs.com/sixiweb/p/11497927.html 执行下面的语句不行;
    ####[root@localhost redis-6.0.9]# make && make install   
    ####得执行下面的语句
    [root@localhost redis-6.0.9]# make install PREFIX=/usr/local/redis

    参考文章:https://blog.csdn.net/weixin_41048363/article/details/80255890

  7. 也可以参考官网,使用官网的命令:

  8. 其实,上面的语句是执行不成功的,因为我不是在redis-6.0.9/src文件夹下执行,需要切换到src文件夹;

  9. 可能还会遇到一个问题,错误内容很多,这里我只是拷贝了最后几段:

    
    server.c: 在函数‘allPersistenceDisabled’中:
    server.c:1484:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
     }
     ^
    server.c: 在函数‘writeCommandsDeniedByDiskError’中:
    server.c:3934:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
     }
     ^
    server.c: 在函数‘iAmMaster’中:
    server.c:5134:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]
     }
     ^

    原因是:gcc版本老问题,新版本的redis6.0以上,不兼容,需要升级gcc,参考网址https://blog.csdn.net/weixin_45627031/article/details/107166867?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.edu_weight

  10. 执行make,安装成功:
    Hint: It's a good idea to run 'make test' ;)
    
    make[1]: 离开目录“/usr/local/redis/redis-6.0.9/src”
    [root@localhost redis-6.0.9]#

  11. 在redis-6.0.9目录下执行:src/redis-server                              熟悉的标志
    make[1]: 离开目录“/usr/local/redis/redis-6.0.9/src”
    [root@localhost redis-6.0.9]# ^C
    [root@localhost redis-6.0.9]# src/redis-server
    30485:C 04 Dec 2020 19:04:08.178 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    30485:C 04 Dec 2020 19:04:08.178 # Redis version=6.0.9, bits=64, commit=00000000, modified=0, pid=30485, just started
    30485:C 04 Dec 2020 19:04:08.178 # Warning: no config file specified, using the default config. In order to specify a config file use src/redis-server /path/to/redis.conf
    30485:M 04 Dec 2020 19:04:08.179 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                    _._
               _.-``__ ''-._
          _.-``    `.  `_.  ''-._           Redis 6.0.9 (00000000/0) 64 bit
      .-`` .-```.  ```\/    _.,_ ''-._
     (    '      ,       .-`  | `,    )     Running in standalone mode
     |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
     |    `-._   `._    /     _.-'    |     PID: 30485
      `-._    `-._  `-./  _.-'    _.-'
     |`-._`-._    `-.__.-'    _.-'_.-'|
     |    `-._`-._        _.-'_.-'    |           http://redis.io
      `-._    `-._`-.__.-'_.-'    _.-'
     |`-._`-._    `-.__.-'    _.-'_.-'|
     |    `-._`-._        _.-'_.-'    |
      `-._    `-._`-.__.-'_.-'    _.-'
          `-._    `-.__.-'    _.-'
              `-._        _.-'
                  `-.__.-'

    这种情况下,只要一输入东西redis就会关闭,因此还需要设置后台启动,开启外网访问,设置登录密码:

  12. 可以使用winscp软件设置,或者使用vi命令设置,如果使用vi命令设置,需要跳转到redis-6.0.9目录下;

  13. 在redis-6.0.9目录找到redis.conf文件,修改信息:

  14. 配置redis为后台启动【大约在224行】:daemonize no 修改为 daemonize yes

  15. 开启外网访问【大约在68行】:bind 自己的ip地址

  16. 设置访问密码【大约在790行】:# requirepass foobared 改成 requirepass 自己的密码

  17. 编写启动redis后台进程脚本start_redis.sh,技巧:在redis目录下新建start_redis.sh文件,编写启动命令reds-server,需要加上路径:redis文件夹/src/redis-server

    
    [root@localhost ~]# cd /usr/local/redis/
    [root@localhost redis]# vim start_redis.sh
    
    #!/bin/sh
    redis-6.0.9/src/redis-server /usr/local/redis/redis-6.0.9/redis.conf
    

    修改启动权限,启动redis:

    ###修改权限
    [root@localhost redis]#chmod +x start_redis.sh
    ###启动redis
    [root@localhost redis]#./start_redis.sh

  18. 检查redis进程和端口:

    [root@localhost redis]# ps -ef|grep redis
    root      1630     1  0 20:02 ?        00:00:01 redis-6.0.9/src/redis-server 192.168.1.148:6379
    root      2848  1873  0 20:21 pts/0    00:00:00 grep --color=auto redis
    [root@localhost redis]# ^C
    [root@localhost redis]# netstat -tunlep|grep 6379
    tcp        0      0 192.168.1.148:6379      0.0.0.0:*               LISTEN      0          1342355    1630/redis-6.0.9/sr
    [root@localhost redis]#

  19. 在windows客户端尝试连接redis服务器,检查服务可用性:使用redis Desktop Manager连接192.168.1.148,端口 6379,密码为配置的密码,连接成功

  20. 退出:在客户端的控制台输入:auth 密码,返回OK,然后再输入shutdown

  21. 再次执行:ps -ef|grep redis,查看redis服务,已经没有了;

    [root@localhost redis]# ps -ef|grep redis
    root      3634  1873  0 20:30 pts/0    00:00:00 grep --color=auto redis
    [root@localhost redis]# netstat -tunlep|grep 6379
    [root@localhost redis]#

    参考文档:https://blog.csdn.net/dsl59741/article/details/106199868              https://www.cnblogs.com/sixiweb/p/11497927.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值