28
2020
12

CentOS7安装 redis 单机版

Centos7 下Reids5 单机版安装步骤

 

一.       由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装:

        yum install -y gcc

二.       下载并解压安装包

        cd /usr/local

        wget http://download.redis.io/releases/redis-5.0.3.tar.gz

        tar -zxvf redis-5.0.3.tar.gz

三.       cd切换到redis解压目录下,执行编译

        cd redis-5.0.3

        make

四.       安装并指定安装目录

        make install PREFIX=/usr/local/redis

五.       初步启动服务 (前台启动 ctrl+c退出)

        cd /usr/local/redis/bin/

        ./redis-server

六.       设置后台启动 把配置文件copy到安装目录里

        cp /usr/local/redis-5.0.3/redis.conf /usr/local/redis/bin/

七.       编辑 redis.conf 修改几个点

                #bind 127.0.0.1 # 将这行代码注释,或者改成0.0.0.0监听所有的ip地址,外网可以访问

               protected-mode no # 把yes改成no,允许外网访问,也可不改配合密码使用

        daemonize yes # 把no改成yes,后台运行

        #requirepass passwd #密码

八.       加载配置文件启动

        ./redis-server redis.conf

九.       添加开机启动配置

        vi /etc/systemd/system/redis.service

添加如下命令:
[Unit]

Description=redis-server

After=network.target

     [Service]

     Type=forking

     ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf

     PrivateTmp=true

     [Install]

     WantedBy=multi-user.target

 

注意: ExecStart 就是我们的启动路径

 

先执行:

systemctl daemon-reload        #重载systemctl配置

其他命令:

        systemctl start redis.service   #启动redis服务

        systemctl stop redis.service   #停止redis服务

        systemctl restart redis.service   #重新启动服务

        systemctl status redis.service   #查看服务当前状态

        systemctl enable redis.service   #设置开机自启动

        systemctl disable redis.service   #停止开机自启动

 

十.       添加软连接 方便本地启动

ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis

效果:

image.png


可能出现的错误:

第三步 make时

            编译错误zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory

        解决方法:

      make MALLOC=libc

        说关于分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。

        而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。

        但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数





« 上一篇 下一篇 »