linux 安装 redis

本贴最后更新于 1368 天前,其中的信息可能已经时过境迁

linux 安装 redis

一、进入 redis 官网寻找要下载的版本:https://redis.io/

将下载地址链接复制下来: http://download.redis.io/releases/redis-6.0.5.tar.gz

二、在线下载 redis

cd /usr/local
wget  http://download.redis.io/releases/redis-6.0.5.tar.gz

下载完成之后解压安装包并执行安装测试

tar xzf redis-6.0.5.tar.gz
cd redis-6.0.5
make test

如果出现

/bin/sh: cc: command not found 

则执行如下命令:

sudo yum -y install gcc gcc-c++ libstdc++-devel 
make MALLOC=libc

如果出现

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

则系统 gcc 版本太低
解决 gcc 版本过低问题
安装 scl 源

yum install centos-release-scl scl-utils-build

列出 scl 可用源

yum list all --enablerepo='centos-sclo-rh'

安装 8 版本的 gcc、gcc-c++、gdb 工具链(toolchian)

yum install -y devtoolset-8-toolchain
scl enable devtoolset-8 bash
gcc --version

三、安装 Redis

make install

启动 Redis

redis-server

如果报如下错误,则根据提示修改以下内容:

sysctl vm.overcommit_memory=1
echo 511 > /proc/sys/net/core/somaxconn
echo never > /sys/kernel/mm/transparent_hugepage/enabled
redis-server

四、配置

修改安装目录下的 redis.conf 文件

sudo vim /usr/local/redis-6.0.5/redis.conf 

修改以下配置:

#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问
protected-mode no # 把yes改成no,允许外网访问
daemonize yes # 把no改成yes,后台运行
#找到如下行:#requirepass foobared,并改为
requirepass XXXXXX (其中XXXXXX就是要设置的密码)

五、启动或停止

redis 提供了服务端命令和客户端命令:

  • redis-server 服务端命令,可以包含以下参数:
    start 启动
    stop 停止
  • redis-cli 客户端控制台,包含参数:
    -h xxx 指定服务端地址,缺省值是 127.0.0.1
    -p xxx 指定服务端端口,缺省值是 6379

六、设置开机启动

  1. 输入命令,新建文件
sudo vim /etc/init.d/redis

输入下面内容:

#!/bin/sh
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database
PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis.pid

CONF="/usr/local/redis-6.0.5/redis.conf"

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 exist, process is not running"  
        else  
                PID=$(cat $PIDFILE)  
                echo "Stopping ..."  
                $REDIS_CLI -p $REDISPORT SHUTDOWN  
                while [ -x ${PIDFILE} ]  
               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/redis {start|stop|restart|force-reload}" >&2  
        exit 1  
esac

然后保存退出

注意:以下信息需要根据安装目录进行调整:

EXEC=/usr/local/bin/redis-server # 执行脚本的地址

REDIS_CLI=/usr/local/bin/redis-cli # 客户端执行脚本的地址

PIDFILE=/var/run/redis.pid # 进程 id 文件地址

CONF="/usr/local/src/redis-3.0.2/redis.conf" #配置文件地址

  1. 设置权限
sudo chmod 755 /etc/init.d/redis
  1. 启动测试
sudo /etc/init.d/redis start

启动成功会提示如下信息:

Starting Redis server...
Redis is running...
  1. 设置开机自启动
sudo chkconfig --add /etc/init.d/redis
sudo chkconfig redis on
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    915 引用 • 931 回帖
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 247 回帖 • 181 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...