美文网首页
centos7安装redis5

centos7安装redis5

作者: 轻轻敲醒沉睡的心灵 | 来源:发表于2020-06-24 09:56 被阅读0次

    1. 下载redis5最新版:下载地址

    2. 上传到指定目录,解压源码包

    tar -zxvf redis-5.0.9.tar.gz

    3. 安装编译环境

    yum -y install gcc gcc-c++ kernel-devel

    4. 编译源代码

    cd redis-5.0.9
    make
    

    5. 安装

    make PREFIX=/usr/local/redis install  # 安装到redis目录
    cp redis.conf /usr/local/redis/ 配置文件拷贝
    cp sentinel.conf /usr/local/redis/   哨兵模式用到的配置文件
    

    尝试启动:

    cd /usr/local/redis/bin
    ./redis-server /usr/local/redis/redis.conf
    # 一般可以启动成功,但是会有warning,下面有解决办法
    

    6. 配置环境变量

    vim /etc/profile
    export PATH=$PATH:/usr/local/redis/bin
    # 保存退出
    
    # 让环境变量立即生效
    source /etc/profile
    

    7. 配置开机自启

    • 切换到目录中的utils目录下,有一个install_server.sh脚本文件
    • 执行这个脚本文件,./install_server.sh
    • 设置
      • 端口:6779
      • 配置文件:/usr/local/redis/redis.conf
      • 日志文件:/logs/redis/redis.log
      • 库文件: /usr/local/redis/bin
      • 启动文件: /usr/local/redis/bin/redis-server

    8. 更改配置文件

    vim /usr/local/redis/redis.conf
    
    # 修改一下配置
    # redis以守护进程的方式运行
    # no表示不以守护进程的方式运行,改成yes,可以后台运行
    daemonize yes
    
    # 客户端闲置多长时间后断开连接,默认为0关闭此功能                                      
    timeout 300
    
    # 设置redis日志级别,默认级别:notice                    
    loglevel verbose
    
    # 设置日志文件的输出方式,如果以守护进程的方式运行redis 默认:"" 
    # 并且日志输出设置到指定目录
    logfile "/logs/redis/redis.log"
    # 设置密码授权
    requirepass <设置密码>
    requirepass redis123
    # 端口号
    port 6779
    # 监听ip,默认只能本机访问,注释掉其他ip就可以了
    bind 127.0.0.1
    # 关掉保护模式,使能远程访问
     把protected-mode yes 修改为no
    

    9. 启动redis,加载自定义的配置文件,如果不加载,配置不生效

    # 进到bin目录下
    ./redis-server /usr/local/redis/redis.conf
    # 查看情况
    ps aux | grep redis
    

    启动后可以用redis的客户端连接,试着写入数据看能否成功

    # 客户端连接
    cd /usr/local/redis/bin  #环境变量添加正确的话,可以不用进这个目录
    redis-cli --raw # --raw设置编码,使中文显示正常
    # 写入
    127.0.0.1:6379> set test 123
    

    9.1 启动redis遇到的几个警告warning,redis在warning中已经给出了解决办法,按照他的方案做就行了,修改完记得重启系统。

      1. THP警告
     WARNING you have Transparent Huge Pages (THP) support enabled in your   kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
    

    按照提示,将echo never > /sys/kernel/mm/transparent_hugepage/enabled写入/etc/rc.local文件,需要注意一点,要赋予此文件可执行权限:

     chmod +x /etc/rc.local
    
      1. TCP警告
     WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128
    

    应该是tcp连接数为128太小了,改大点。编辑etc/sysctl.conf,在最后添加

      net.core.somaxconn = 1024
    
      1. 开启内存覆盖的警告
    WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1’ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1’ for this to take effect.
    

    直接按提示,修改/etc/sysctl.conf,在最后添加:

    vm.overcommit_memory=1
    

    10 设置systemctl命令

    • 设置启动文件:vim lib/systemd/system/redis.service
    • 填入以下内容
    [Unit]
    Description=redis
    After=network.target
    [Service]
    Type=forking
    WorkingDirectory=/usr/local/redis
    ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
    ExecStop=/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6779 shutdown
    PrivateTmp=true
    [Install]
    WantedBy=multi-user.target
    
    • 重载配置:systemctl daemon-reload
    • 使用命令
    systemctl start redis
    systemctl stop redis
    systemctl restart redis
    systemctl status redis
    systemctl enable redis
    

    相关文章

      网友评论

          本文标题:centos7安装redis5

          本文链接:https://www.haomeiwen.com/subject/eohbxktx.html