Centos下配置Redis开机启动脚本

时间:2022-01-06 16:14:39

1、下载安装

?
1
2
3
4
5
6
wget http://redis.googlecode.com/files/redis-2.2.13.tar.gz
tar -zxf redis-2.2.13.tar.gz
cd redis-2.2.13
make
sudo make install
cp redis.conf /etc

install的时候,redis的命令会被拷贝到/usr/local/bin下面

2,建立用户与日志目录

第一次启动Redis前,建议为Redis单独建立一个用户,并新建data和日志文件夹

?
1
2
3
4
5
sudo useradd redis
sudo mkdir -p /var/lib/redis
sudo mkdir -p /var/log/redis
sudo chown redis.redis /var/lib/redis #db文件放在这里,要修改redis.conf
sudo chown redis.redis /var/log/redis

3,配置init脚本

其实github上很多老外写好的启动脚本,不过大部分都是ubuntu的,对于Centos。

经过修改,如下:

?
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
###########################
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
   
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
   
PIDFILE=/var/run/redis.pid
CONF="/etc/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
    if [ "$?"="0"
    then
       echo "Redis is running..."
    fi
    ;;
  stop)
    if [ ! -f $PIDFILE ]
    then
        echo "$PIDFILE does not exist, process is not running"
    else
        PID=$(cat $PIDFILE)
        echo "Stopping ..."
        $REDIS_CLI -p $REDISPORT SHUTDOWN
        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
##############################

把上述代码存为redis,放到/etc/init.d/下面

?
1
chmod +x /etc/init.d/redis

其实做成服务启动,也是调用redis-server,如果想让它在后台作为daemon运行,那么

需要修改redis.conf,将 daemonize no 改为 daemonize yes

4,设定开机启动服务

?
1
sudo chkconfig redis on

5,启动,停止redis

?
1
2
service redis start  #或者 /etc/init.d/redis start
service redis stop  #或者 /etc/init.d/redis stop

6,测试redis

?
1
2
3
4
5
6
redis-cli 
redis 127.0.0.1:6379> set foo 123
OK
redis 127.0.0.1:6379> get foo
"123"
redis 127.0.0.1:6379> exit

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

原文链接:http://blog.csdn.net/mlks_2008/article/details/19001595