linux安装redis4.0.9

前言:
centOS版本:CentOS Linux release 7.6.1810 (Core) 64位
redis版本:
在这里插入图片描述
下载地址:https://download.redis.io/releases/

  1. 将redis安装包上传至/usr/local/tmp下

  2. tar -zxvf 文件名称 解压安装包

  3. cp -r redis-4.0.9 /usr/local/redis 复制文件到/usr/local/redis下

  4. cd /usr/local/redis 进入到redis目录下

  5. make 对解压的redis文件进行编译

    1. 出现下方图片中的情况,提示gcc命令未找到,这是因为redis没有安装gcc编译器没安装。使用命令yum install -y gcc g++ gcc-c++ make
      在这里插入图片描述
  6. make 再次对解压的redis文件进行编译,提示出错之后 可参考https://www.cnblogs.com/liu2-/p/6914159.html

  7. make install 进入src文件夹,执行make install进行redis安装。成功界面如下
    在这里插入图片描述

  8. 为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中
    在这里插入图片描述

    1. mv redis.conf /usr/local/redis/etc/ 将其复制移动到 /usr/local/redis/ect 下
    2. cd /src
      mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin/ 进入src目录,移动mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server到/usr/local/redis/bin/
  9. redis-server 启动redis服务

  10. 需要绑定ip的话可参考https://www.cnblogs.com/marvinn/p/11081106.html

  11. 设置后台启动redis

    1. cd /usr/local/redis/etc/
    2. vim redis.conf 首先编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)
      在这里插入图片描述
    3. redis-server /usr/local/redis/etc/redis.conf 再次启动redis服务,并指定启动服务配置文件
      在这里插入图片描述
      到此安装配置redis就完成了。
  12. 配置redis密码

    1. cd /usr/local/redis/etc

    2. vi redis.conf 编辑配置文件将#requirepass foobared去掉注释,foobared改为自己的密码
      在这里插入图片描述

    3. /usr/local/redis/bin/redis-cli shutdown 关闭redis

    4. ./redis-server /usr/local/redis/etc/redis.conf 进入bin文件夹下 重新启动redis服务,并指定启动服务配置文件

    5. ./redis-cli 测试连接
      在这里插入图片描述

    6. /usr/local/redis/bin/redis-cli -a 密码 shutdown 设置密码后的redis关闭方式

    7. ./redis-cli -h 127.0.0.1 -p 6397 -a 你的redis密码 客户端连接方式
      在这里插入图片描述

开启远程连接

  1. 注释掉bind(注意:bind指定多个ip的话用,分割。例如bind 10.10.12.138,192.168.12.250
    在这里插入图片描述

  2. protected-mode参数是为了禁止外网访问redis,如果启用了,则只能够本地(127.0.0.1)访问Redis,如果外网访问redis,会报出异常;解决方法分为两种:1、关闭protected-mode模式 2、配置bind或者设置密码
    我这里选择的是关闭protected-mode模式
    在这里插入图片描述

  3. 防火墙开启的话要添加端口
    firewall-cmd --zone=public --add-port=6379/tcp --permanent 添加redis的端口6379(–permanent永久生效,没有此参数重启后失效)
    firewall-cmd --reload 重新载入
    firewall-cmd --zone=public --list-ports 查看所有打开的端口

  4. 接下来就可以使用redis的可视化工具测试远程连接了;如果是云服务器需要开启6379端口 才可以连接
    在这里插入图片描述

  5. 提示连接失败的话十有八九是redis端口号的问题,将prod修改为6397。然后进行如下操作
    ./redis-server /usr/local/redis/etc/redis.conf 重新启动redis服务,并指定启动服务配置文件
    firewall-cmd --zone=public --add-port=6397/tcp --permanent 添加redis的端口6397(–permanent永久生效,没有此参数重启后失效)
    firewall-cmd --reload 重新载入
    firewall-cmd --zone=public --list-ports 查看所有打开的端口
    在这里插入图片描述
    5.1 把生成的pid文件名称也要修改一下在这里插入图片描述

到此就OK了

配置 redis开机自动启动

  1. cd /usr/local/redis
    vim etc/redis.conf 设置redis.conf中daemonize为yes,确保守护进程开启
    在这里插入图片描述
  2. vim /etc/init.d/redis 编写开机自启动脚本。看清楚目录,是在 etc/init.d下新建redis文件。为什么?因为 linux开机会自动 执行这个目录中所有的文件
    注意还有另外一种方法用了这个就不用自己写脚本了,里面的配置根据自己的实际情况修改:cp /usr/local/redis/utils/redis_init_script /etc/init.d/redisd
    !/bin/sh
    #chkconfig: 2345 90 10
    #description:  Redis is a persistent key-value database
    PATH=/usr/local/bin:/sbin:/usr/bin:/bin   #找到本机安装redis            后,存放redis命令的目录
    REDISPORT=6397                            #redis的默认端口, 要和下文中的redis.conf中一致
    EXEC=/usr/local/redis/bin/redis-server           #redis服务端的命令
    REDISCLI=/usr/local/redis/bin/redis-cli         #redis客户端的命令  这两个一般都在 PATH目录下
    PIDFILE=/var/run/redis_${REDISPORT}.pid                #reids的进程文件生成的位置
    CONF="/usr/local/redis/etc/redis.conf"           #redis的配置文件所在的目录
    #AUTH="1234"                                     #这句没什么用可以不要
    REDISPWD=adminCii
    
    
    case "$1" in
            start)
                    if [ -f $PIDFILE ]
                    then
                            echo "$PIDFILE exists, process is already running or crashed."
                    else
                            echo "Starting Redis server..."
                            $EXEC $CONF
                    fi
                    if [ "$?"="0" ]
                    then
                            echo "Redis is running..."
                    fi
                    ;;
            stop)
                    if [ ! -f $PIDFILE ]
                    then
                            echo "$PIDFILE does not exists, process is not running."
                    else
                            PID=$(cat $PIDFILE)
                            echo "Stopping..."
                            $REDISCLI -a $REDISPWD -p $REDISPORT  shutdown
                            sleep 1
                            while [ -x /proc/${PID} ]
                            do
                                   echo "Waiting for Redis to shutdown..."
                                   sleep 1
                            done
                            echo "Redis stopped"
                    fi
                    ;;
            restart|force-reload)
                    ${0} stop
                    ${0} start
                    ;;
            *)
                   echo "Usage: /etc/init.d/redisd {start|stop|restart|force-reload}" >&2
                    exit 1
    esac
    
  3. chmod 775 /etc/init.d/redisd 修改文件的权限为 可执行的
  4. /etc/init.d/redisd start 测试一下redis 的启动
  5. chkconfig --add redisd 添加服务
    5.1 如果报下图中的错误的话
    在这里插入图片描述
    5.2 #!/bin/sh #chkconfig: 2345 80 90 添加这两行代码
    在这里插入图片描述
  6. chkconfig --list 显示服务列表
  7. chkconfig redisd on 设置自动启动
  8. ./redisd start redisd脚本命令,启动
  9. ./redisd stop redisd脚本命令,停止
  10. ./redisd restart redisd脚本命令,重启

这里要说一下 /usr/lib/systemd/system 这个目录

刚开始我一直不知道 我的nginx mysql php 是怎么开机自动启动的 后来我进入了这个目录看了,才知道,原来它们都在这里,网上说这里linux centos 新的启动方式,我不怎么了解,但是我知道了,这里的 文件都是可以开机自启的服务

所以我们要想知道 本机开机都自启了什么服务 可以来这个文件夹下看一下

redis重启数据丢失解决

  1. vim /etc/sysctl.conf 编辑sysctl.conf文件

  2. vm.overcommit_memory=1 添加内容
    在这里插入图片描述

  3. cd /etc 进入/etc配置文件

  4. sysctl -p 立即生效
    在这里插入图片描述

  5. 接下来在redis中添加一条数据,然后重启redis 验证数据是否存在

    这个问题只在Linux系统才存在,在Windows系统是没有问题的。

常用命令

  1. whereis redis 找到redis安装目录
    在这里插入图片描述
  2. 查看版本信息
    2.1 ./redis-server --version 进入到redis/bin文件夹下查看版本信息
    2.2 ./redis-server --version 进入到redis/src文件夹下查看版本信息
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值