华域联盟 Linux Centos下配置Redis开机启动脚本

Centos下配置Redis开机启动脚本

1、下载安装

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和日志文件夹

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。

经过修改,如下:

########################### 
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) 
    
########################### 
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 
############################## 
stop
########################### 
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 
############################## 
start ;; *) echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2 exit 1 esac ##############################

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

chmod +x /etc/init.d/redis 

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

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

4,设定开机启动服务

sudo chkconfig redis on 

5,启动,停止redis

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

6,测试redis

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 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持华域联盟。

您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » Centos下配置Redis开机启动脚本

转载请保留出处和原文链接:https://www.cnhackhy.com/58013.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部