阿里云服务器安装Redis

994 阅读3分钟

一、安装gcc依赖

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

[root@iZbp1hxps1f8ab0m8ru9gmZ local]# yum install -y gcc

二、下载并解压安装包

[root@iZbp1hxps1f8ab0m8ru9gmZ local]# wget http://download.redis.io/releases/redis-6.2.0.tar.gz
[root@iZbp1hxps1f8ab0m8ru9gmZ local]# tar -zxvf redis-6.2.0.tar.gz

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

[root@iZbp1hxps1f8ab0m8ru9gmZ local]# cd redis-6.2.0
[oot@iZbp1hxps1f8ab0m8ru9gmZ redis-6.2.0]# make

四、安装并指定安装目录

[root@iZbp1hxps1f8ab0m8ru9gmZ redis-6.2.0]# make install PREFIX=/usr/local/redis

五、启动服务

5.1前台启动

[root@iZbp1hxps1f8ab0m8ru9gmZ redis-6.2.0]# cd /usr/local/redis/bin/
[root@iZbp1hxps1f8ab0m8ru9gmZ bin]# ./redis-server

5.2后台启动

从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录

[root@iZbp1hxps1f8ab0m8ru9gmZ bin]# cp /redis-6.2.0/redis.conf /usr/local/redis/bin/

修改 redis.conf 文件,把 daemonize no 改为 daemonize yes,确保守护进程开启。

[root@iZbp1hxps1f8ab0m8ru9gmZ bin]# vim redis.conf

后台启动

[root@iZbp1hxps1f8ab0m8ru9gmZ bin]# ./redis-server redis.conf

六、设置开机启动

编写开机自启动脚本

基本原理为: 系统开机启动时会去加载/etc/init.d/下面的脚本,通常而言每个脚本文件会自定义实现程序的启动;若想将新的程序开机自启动,只需在该目录下添加一个自定义启动程序的脚本,然后设置相应规则即可。 如在这里我们在/etc/init.d/下新建一个 redis 的脚本,开机启动时会去加载执行该脚本。

编辑脚本

在系统init.d目录下新建文件redis,授权运行,因为我们稍后把要执行的脚本写入进去。

#进入目录/etc/init.d
[root@iZbp1hxps1f8ab0m8ru9gmZ bin]# cd /etc/init.d
#创建名为redis的空文件
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# touch redis
#设置可执行权限
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# chmod 777 redis
#编辑redis文件
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# vim redis

将如下内容复制进redis文件中:

#!/bin/bash
#chkconfig: 22345 10 90
#redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
#description: Start and Stop redis
REDISPORT=6379 #端口号,这是默认的,如果你安装的时候不是默认端口号,则需要修改
EXEC=/usr/local/redis/bin/redis-server #redis-server启动脚本的位置
CLIEXEC=/usr/local/redis/bin/redis-cli #redis-cli客户端启动脚本的位置
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/bin/redis.conf" #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
        ;;
    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

执行配套命令使脚本每次开机都执行

#服务的形式启动和关闭redis
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# chkconfig --add redis
#加入开机自启服务
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# chkconfig redis on
#查看所有注册的脚本文件
[root@iZbp1hxps1f8ab0m8ru9gmZ init.d]# chkconfig --list

重启,验证是否开机自启

参考:

www.cnblogs.com/heqiuyong/p…

blog.csdn.net/ai_64/artic…

blog.csdn.net/baidu_30000…