一、下载redis

redis中文官网:redis中文官网
 title=
redis官网和中文网的最新版本不一致按需下载即可。

二、安装redis

将redis的压缩包上传到linux系统中,建议存放在/opt目录下。上传可以使用Xftp。
解压:tar -zxvf redis-6.0.6.tar.gz

[root@izbp198rtvi9jbqddkri25z server]# tar -zxvf redis-6.0.6.tar.gz

安装环境

[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# yum install gcc-c++

查看gcc版本:gcc -v

[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)

如果安装的是redis6.0及以上版本,gcc的版本需要5.0以上,而之前安装的gcc版本是4.8.5的,所以需要更新gcc版本。依次执行以下命令:

[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# yum -y install centos-release-scl
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# scl enable devtoolset-9 bash
[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# echo “source /opt/rh/devtoolset-9/enable” >>/etc/profile

使用gcc -v查看版本可以发现,版本已经成功更新为9.3.1

[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-9/root/usr/libexec/gcc/x86_64-redhat-linux/9/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-9/root/usr --mandir=/opt/rh/devtoolset-9/root/usr/share/man --infodir=/opt/rh/devtoolset-9/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --with-default-libstdcxx-abi=gcc4-compatible --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-9.3.1-20200408/obj-x86_64-redhat-linux/isl-install --disable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)

再次执行make可以发现make成功

[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# make

...

    CC lolwut.o
    CC lolwut5.o
    CC lolwut6.o
    CC acl.o
    CC gopher.o
    CC tracking.o
    CC connection.o
    CC tls.o
    CC sha256.o
    CC timeout.o
    CC setcpuaffinity.o
    LINK redis-server
    INSTALL redis-sentinel
    CC redis-cli.o
    LINK redis-cli
    CC redis-benchmark.o
    LINK redis-benchmark
    INSTALL redis-check-rdb
    INSTALL redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory `/alidata/server/redis-6.0.6/src'

然后执行make install命令

[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# make install
cd src && make install
make[1]: Entering directory `/alidata/server/redis-6.0.6/src'
    CC Makefile.dep
make[1]: Leaving directory `/alidata/server/redis-6.0.6/src'
make[1]: Entering directory `/alidata/server/redis-6.0.6/src'

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
make[1]: Leaving directory `/alidata/server/redis-6.0.6/src'

redis的默认安装位置是/usr/local/bin

[root@izbp198rtvi9jbqddkri25z redis-6.0.6]# cd /usr/local/bin/
[root@izbp198rtvi9jbqddkri25z bin]# ls
event_rpcgen.py  iconv  libmcrypt-config  pcre-config  pcregrep  pcretest  redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server

/usr/local/bin目录下新建myconfig文件夹,用于存放redis.conf文件
执行mkdir myconfig
执行cp /opt/redis-6.0.6/redis.conf

[root@izbp198rtvi9jbqddkri25z bin]# mkdir myconfig
[root@izbp198rtvi9jbqddkri25z bin]# cp /alidata/server/redis-6.0.6/redis.conf myconfig/redis.conf

三、配置redis

执行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

四、启动redis

1、 执行redis-server myconfig/redis.conf命令启动redis服务
myconfig/redis.conf指定使用我们自己配置的配置文件启动服务
2、 执行ps -ef|grep redis命令查看redis是否启动
3、执行redis-cli -p 6379命令启动客户端连接服务端

五、配置开机自启动

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

脚本内容

#!/bin/sh
# chkconfig: 2345 90 10 
# description: Start and Stop redis  
 
REDISPORT=6379 #默认端口
EXEC=/usr/local/bin/redis-server #EXEC:redis文件夹所在的redis-server所在路径
CLIEXEC=/usr/local/bin/redis-cli #CLIEXEC:redis文件夹所在的redis-cli所在路径
 
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/bin/myconfig/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

五,外界访问

  • 查看防火墙对外监听端口: iptables-save
  • 开放端口6379:

    shell firewall-cmd --zone=public --add-port=6379/tcp --permanent
  • 然后需要重载防火墙命令如下:

    shell firewall-cmd --reload

点赞(1)

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿
发表
评论
返回
顶部