详解Centos7下配置Redis并开机自启动

时间:2022-02-18 21:25:11

本篇文章主要介绍了Centos7下配置Redis并开机自启动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

最近在做作业的时候需要用到Redis缓存,由于每次重启服务器都需要重新启动Redis,也是忒烦人,于是就有了这一篇博客,好,废话不多说。

只有两个步骤:

1.设置redis.conf中daemonize为yes,确保守护进程开启。

2.编写开机自启动脚本

基本原理为: 

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

如在这里我们在/etc/init.d/下新建一个 redis 的脚本,开机启动时会去加载执行该脚本。

?
1
vim /etc/init.d/redis

在该脚本中添加一下内容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# chkconfig: 2345 10 90
#redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。
# description: Start and Stop redis 
 
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
export PATH
REDISPORT=6379 #端口号,这是默认的,如果你安装的时候不是默认端口号,则需要修改
EXEC=/usr/local/redis/bin/redis-server #redis-server启动脚本的位置,你如果忘了可以用find或whereis找到 
REDIS_CLI=/usr/redisbin/redis-cli #redis-cli客户端启动脚本的位置,你如果忘了可以用find或whereis找到 
 
PIDFILE=/run/redis.pid  #这个也可以用find或whereis找到
CONF="/usr/local/redis/etc/redis.conf" #redis.conf配置文件的位置,你如果忘了可以用find或whereis找到
AUTH="1234"
 
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 exists, process is not running."
        else
            PID=$(cat $PIDFILE) 
            echo "Stopping..."
            $REDIS_CLI -p $REDISPORT SHUTDOWN 
            sleep 2
            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

写完后保存退出

设置可执行权限:

?
1
chmod 755 redis

启动测试:

?
1
/etc/init.d/redis start

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

?
1
2
Starting Redis server...
Redis is running...

使用redis-cli测试:

?
1
2
3
4
5
6
[root@localhost ~]# /usr/local/redis/bin/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
127.0.0.1:6379> exit

设置开机自启动:

?
1
chkconfig redis on

关机重启测试:

?
1
reboot

开机完之后可以用 redis-cli 测试,或者用 ps -ef | grep redis 看看redis 是否在运行中

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。