CentOS 7安装redis的过程及相关问题

本文详细介绍了如何在 CentOS 7 上安装 Redis 5.0.2,包括下载、编译、安装过程,以及配置 Redis 服务后台运行、启动脚本的创建和防火墙设置等步骤,确保 Redis 可以正常运行并允许远程连接。
摘要由CSDN通过智能技术生成

说明:这是最近装redis时,搜了很多相关博客和百度资料,并根据自己安装的实际情况加以总结,所有图片均为自己截图,内容亲测有效,欢迎大家批评指正!

一、安装

1. 下载地址 https://redis.io/download, 下载稳定版5.0.2

   发行说明:https://raw.githubusercontent.com/antirez/redis/5.0/00-RELEASENOTES

2. 下载好后通过xftp上传centOS系统中(我放的目录是usr/local/src/)。

3. 进入上传的目录下,解压命令# tar -zxvf redis-5.0.2.tar.gz 。

4. 为redis-5.0.2文件在另外一个redis文件上建立一个同步的链接。

   # ln -sv redis-5.0.2/ redis 

   # cd redis

5. 开始编译解压的文件夹 

   # make

6. 查看目录,进入src文件夹

     

7. 开始安装redis ,命令# make install

8. 安装完成,界面如下:

     monster

二、配置

1.首先为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中

    a) 创建bin和etc文件夹

        # mkdir -p /usr/local/redis/bin

        # mkdir -p /usr/local/redis/etc

    b) 执行Linux移动命令

        # mv redis.conf etc/

        

        # mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server /usr/local/re dis/bin

        

2.后台启动redis服务

    a) 切换到/usr/local/redis/etc目录,编辑redis.conf文件,将daemonize属性改为yes(表明需要在后台运行)

        # vim redis.conf

        

    b) 切换到/usr/local/redis/bin目录下执行Redis-server命令,使用 /usr/local/ redis/etc/redis.conf 配置文件来启动Redis 服务

        #  ./redis-server /usr/local/redis/etc/redis.conf

        

3.服务端启动成功后,执行redis-cli启动Redis 客户端,查看端口号,默认是6379。

        # redis-cli

        

4.编辑服务启动脚本

        # vim /etc/init.d/redis

黏贴如下代码:(注意路径,根据实际情况修改)

#!/bin/sh

#

# redis        Startup script for Redis Server

#

# chkconfig: - 80 12

# description: Redis is an open source, advanced key-value store.

#

# processname: redis-server

# config: /usr/local/redis/etc/redis.conf

# pidfile: /var/run/redis.pid

source /etc/init.d/functions

BIN="/usr/local/redis/bin"

CONFIG="/usr/local/redis/etc/redis.conf"

PIDFILE="/var/run/redis.pid"

### Read configuration

[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"

RETVAL=0

prog="redis-server"

desc="Redis Server"

start() {

        if [ -e $PIDFILE ];then

             echo "$desc already running...."

             exit 1

        fi

        echo -n $"Starting $desc: "

        daemon $BIN/$prog $CONFIG

        RETVAL=$?

        echo

        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog

        return $RETVAL

}

stop() {

        echo -n $"Stop $desc: "

        killproc $prog

        RETVAL=$?

        echo

        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE

        return $RETVAL

}

restart() {

        stop

        start

}

case "$1" in

  start)

        start

        ;;

  stop)

        stop

        ;;

  restart)

        restart

        ;;

  condrestart)

        [ -e /var/lock/subsys/$prog ] && restart

        RETVAL=$?

        ;;

  status)

        status $prog

        RETVAL=$?

        ;;

   *)

        echo $"Usage: $0 {start|stop|restart|condrestart|status}"

        RETVAL=1

esac

exit $RETVAL

chmod +x /etc/init.d/redis

service redis start

service redis stop

chkconfig --add redis

5.设置环境变量

  # vim /etc/profile.d/redis.sh

  添加如下:

   

6.配置下面的内核参数,否则Redis脚本在重启或停止redis时,将会报错,并且不能自动在停止服务前同步数据到磁盘上/etc/sysctl.conf加上

  # vim /etc/sysctl.conf 

    进入设置   vm.overcommit_memory = 1 

  # sysctl -p

三、连接客户端(windows下装的客户端 RedisDesktopManager)

1.确保redis正常启动

    

如果不是如图所示,则未开启redis服务,在redis目录下使用命令行:

# redis-server etc/redis.conf

    

表示开启成功!

2.查看主机是否连通

使用主机ping虚拟机IP,如图表示成功!

    

3.配置redis.conf

①将bind 127.0.0.1注释掉

    

②将保护模式protected-mode由yes改为no

    

原因:redis具有保护模式,IP地址绑定后导致其他IP无法连接。

注:修改完成后重启服务。

在redis目录下:

关闭服务 # redis-cli shutdown

重启服务 #redis-server etc/redis.conf

4.关闭或者修改防护墙

关闭防火#墙:# service iptables stop

如果出现如图情况:

    

原因:CentOS7开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务没安装,所以你只要停止firewalld服务即可。

解决:# sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service

5.客户端启动异常

异常:启动服务一直卡在如图所示处:

    

原因:守护进程为no,导致不能后台运行。

解决:进入redis\etc\redis.conf下将其修改为yes

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值