linux环境下安装配置redis,并设置开机自启动

1.官网下载tar包,地址:https://redis.io/download

2.上传至/usr/local目录并解压

tar -zxvf redis-6.0.7.tar.gz

3.安装gcc环境

由于redis是由C语言编写的,它的运行需要C环境,因此我们需要先安装gcc。安装命令如下(二选一或全选):

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

4.如果安装过程中报以下错误:

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


或者




server.c:2403:11: 错误:‘struct redisServer’没有名为‘assert_line’的成员server.assert_line = 0;


第一个错误解决如下:

执行命令:

make MALLOC=libc

第二个错误解决如下:

[root@localhost redis-6.0.7]# gcc -v                             # 查看gcc版本
[root@localhost redis-6.0.7]# yum -y install centos-release-scl  # 升级到9.1版本
[root@localhost redis-6.0.7]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
[root@localhost redis-6.0.7]# scl enable devtoolset-9 bash
以上为临时启用,如果要长期使用gcc 9.1的话:
[root@localhost redis-6.0.7]# echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

5.进入到  /usr/local/redis-6.0.7/ 目录下,执行make命令进行编译与安装

6.进入/usr/local/redis-6.0.7/src目录下,执行以下命令安装:

[root@localhost src]# make install

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

(1)创建bin和etc文件夹

[root@localhost redis-6.0.7]# mkdir bin
[root@localhost redis-6.0.7]# mkdir etc

(2)  将redis-6.0.7目录下的 redis.conf 移动到 redis-6.0.7目录下的etc文件夹下。将src目录下得mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-cli、redis-server 移动到   /usr/local/redis-6.0.7/bin/ 目录下

[root@localhost redis-6.0.7]# mv redis.conf ./etc


[root@localhost src]# mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server ../bin

8.编辑/usr/local/redis-6.0.7/etc/redis.conf配置文件,设置后台启动redis服务

[root@localhost redis-6.0.7]# cd etc

[root@localhost etc]# vim redis.conf 

修改以下属性:

把文件中的daemonize属性改为yes(表明需要在后台运行)
daemonize yes


把 redis.conf配置文件中的 bind 127.0.0.1 这一行给注释掉,这里的bind指的是只有指定的网段才能远程访问这个redis,注释掉后,就没有这个限制了。
#bind 127.0.0.1


把 redis.conf配置文件中的 protected-mode 设置成no(默认是设置成yes的, 防止了远程访问,在redis3.2.3版本后)
protected-mode no


修改Redis默认密码 (默认密码为空),在配置文件中找到这一行 # requirepass foobared,删除前面的注释符号#,并把foobared修改成自己的密码  或者  另起一行 requirepass 自己的密码
requirepass 123456

9.配置开机自启动

进入文件夹,编写自启动脚本

[root@localhost ~]# vim /etc/init.d/redis

脚本内容如下:

#!/bin/sh
# chkconfig: 2345 10 90 
# description: Start and Stop redis  
 
REDISPORT=6379 #默认端口
EXEC=/usr/local/redis-6.0.7/bin/redis-server #EXEC:redis文件夹所在的redis-server所在路径
CLIEXEC=/usr/local/redis-6.0.7/bin/redis-cli #CLIEXEC:redis文件夹所在的redis-cli所在路径
 
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis-6.0.7/etc/redis.conf" #CONF:redis启动所用的配置文件
 
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
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    restart)
        "$0" stop
        sleep 3
        "$0" start
        ;;
    *)
        echo "Please use start or stop or restart as first argument"
        ;;
esac

完成之后,添加权限:

[root@localhost ~]# chmod 777 /etc/init.d/redis

设置开机自启动:

[root@localhost ~]# chkconfig redis on

启动redis命令:

[root@localhost ~]# service redis start

10.打开RedisDesktopManager,测试服务是否开启 以及 是否可以远程访问Redis

很多小朋友安装过程中报不知道得错误,提醒你们先安装好前提条件,比如gcc环境还有升级gcc版本等等。

猜你喜欢

转载自blog.csdn.net/weixin_46792649/article/details/108443702