Centos7安装redis

6 篇文章 0 订阅
4 篇文章 0 订阅

一、简介

  • 内容:本文最主要介绍在虚拟机中安装redis、并在虚拟机的docker容器使用shell脚本安装redis和测试redis是否安装成功。
  • 环境:虚拟机 + centos7

二 、安装过程

  1. wget http://download.redis.io/releases/redis-3.2.11.tar.gz (下载)

  2. tar -xzvf redis-3.2.11.tar.gz(解压)

  3. cd redis-3.2.11/(进入redis目录)

  4. make(编译)

  5. 指定/bin的路径:make install PREFIX=/usr/local/redis (根据需求修改redis.conf配置文件)

  6. 添加配置文件:cp redis.conf /usr/local/bin/redis.conf(注:命令中第一个redis.conf在解压之后的路径下,即redis-3.2.11/redis.conf)

  7. 修改redis.conf配置文件:

    • vim /usr/local/redis/bin/redis.conf(直接修改)
      • 注释掉 bind 127.0.0.1,让所有ip都可以访问redis服务:# bind 127.0.0.1
      • 修改protected-mode为no, 才能完成暴漏redis的服务:protected-mode no
      • 修改daemonize为yes,使启动服务时为后台启动:daemonize yes
    • 使用sed命令修改(shell脚本中对配置文件的修改常用方式)
      • sed -i -e 's/daemonize no/daemonize yes/g' /usr/local/redis/bin/redis.conf
      • sed -i -e 's/bind 127.0.0.1/# bind 127.0.0.1/g' /usr/local/redis/bin/redis.conf
      • sed -i -e 's/protected-mode yes/protected-mode no/g' /usr/local/redis/bin/redis.conf
  8. 启动redis

    • 切换到bin目录下:./redis-server /redis.conf
    • 使用systemctl服务开启关闭redis
      • /usr/lib/systemd/system目录下创建文件redis.service
      • 在文件中写入:
      [Unit]
      Description=Redis
      After=network.target
       
      [Service]
      ExecStart=/usr/local/redis/bin/ /usr/local/redis/bin/redis.conf  --daemonize no
      ExecStop=//usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown
       
      [Install]
      WantedBy=multi-user.target
      
      ExecStart:写自己的redis安装路径和配置文件的路径,就是步骤6中PREFIX的参数和步骤8的redis.conf文件位置
  9. 问题集合

    • fatal error: jemalloc/jemalloc.h: No such file or directory
      • make MALLOC=libc
  10. shell脚本

#!/bin/bash
#redis install script
#redis version 1.14.0
#OS centos7
#author: urmsone
#createtime: 2019.1.14

init_env(){
        echo "init_env start..."
        yum -y install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel wget make
        echo "init_env finished..."
}

update_redis_conf(){
        sed -i -e 's/daemonize no/daemonize yes/g' /usr/local/redis/bin/redis.conf
        sed -i -e 's/bind 127.0.0.1/# bind 127.0.0.1/g' /usr/local/redis/bin/redis.conf
        sed -i -e 's/protected-mode yes/protected-mode no/g' /usr/local/redis/bin/redis.conf
}

conf_systemd(){
        echo "conf_systemd start..."
        touch /usr/lib/systemd/system/redis.service
        cat <<EOF >/usr/lib/systemd/system/redis.service
[Unit]
Description=Redis
After=network.target
[Service]
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf  --daemonize no
ExecStop=/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown
[Install]
WantedBy=multi-user.target
EOF
        echo "conf_systemd finished..."
}

install_redis() {
        echo "install_nginx start..."
        wget http://download.redis.io/releases/redis-3.2.11.tar.gz && tar -zxvf redis-3.2.11.tar.gz
        cd redis-3.2.11/
        make && make install PREFIX=/usr/local/redis
        echo 'update_conf finished...'
        cp redis.conf /usr/local/redis/bin/redis.conf
        update_redis_conf
        echo "install_nginx finished..."
}

main(){
        init_env
        install_redis
        conf_systemd
}
main
  1. docker中安装并测试是否安装成功
    • docker run -d --name redis --privileged=true docker.io/centos:7 /usr/sbin/init
    • docker exec -it redis /bin/bash
    • vi redis.sh
    • sh redis.sh
      make成功
    • systemctl start redis
    • systemctl status redis(看到下图的显示,则证明安装成功)
      在这里插入图片描述
  2. /usr/local/redis/bin/redis-cli (输出helloworld)
    redis-cli

三、总结

本文主要介绍了redis的安装和测试过程,redis的使用(redis的数据类型,使用场景等介绍)将在在以后的文章中介绍。文中的脚本只是简单的实现了安装redis的基本流程,下一个版本将加入通过启动redis.sh脚本时传入参数,根据参数进行修改配置文件的功能。文章可能在编辑过程中,由于个人疏忽、不同版本markdown解析器不兼容等原因导致字符书写错误,导致安装失败。本文属于原创,若有引用请注明出处。若有疑问或错误,欢迎各位指出,可以评论或者跟本人联系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值