Redis探索之旅(5)- 在Linux下将Redis注册成服务
Redis探索之旅(5)- 在Linux下将Redis注册成服务
大概率 发表于6个月前
Redis探索之旅(5)- 在Linux下将Redis注册成服务
  • 发表于 6个月前
  • 阅读 8
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

在《Redis探索之旅(3)- 在Windows下将Redis注册成本地服务》我们讲述了如何在Windows下的操作方法,在这篇文章中,我们看看在Linux下如何操作。

我们按照下面的步骤一步一步来。

(1)将Redis目录下的初始化脚本拷贝到/etc/rc.d/init.d目录;

redis的初始化脚本目录为:/usr/local/src/redis/utils/redis_init_script

将这个目录拷贝到目标目录,同时将文件夹名称进行修改:

[javascript]view plaincopy

cp /usr/local/src/redis/utils/redis_init_script /etc/rc.d/init.d/redis

然后添加注册服务,如下所示:

[javascript]view plaincopy

chkconfig --add redis

执行后,可能你会遇到下面的错误:

[javascript]view plaincopy

redis服务不支持chkconfig

因此,我们还需要对初始化脚本做一些修改。

(2)修改脚本

我们首先打开redis脚本,修改后内容如下:

[javascript]view plaincopy

#!/bin/sh

#chkconfig: 2345 80 90

Simple Redis init.d script conceived to work on Linux systems

as it does use of the /proc filesystem.

REDISPORT=6379

EXEC=/usr/local/redis/bin/redis-server

CLIEXEC=/usr/local/redis/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid

CONF="/etc/redis/${REDISPORT}.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

;;

*)

echo"Please use start or stop as first argument"

;;

esac

脚本的修改地方主要涉及以下几个地方:

(a)第二行增加如下内容

[javascript]view plaincopy

#chkconfig: 2345 80 90

(b)原脚本EXEC和CLIEXEC的值因为目录不同而有所修改

[javascript]view plaincopy

EXEC=/usr/local/redis/bin/redis-server

CLIEXEC=/usr/local/redis/bin/redis-cli

(c)redis启动的命令改为以后台方式启动

[javascript]view plaincopy

$EXEC $CONF &

(d)将redis配置文件拷贝到/etc/redis/端口ID.conf,如下所示:

[javascript]view plaincopy

mkdir /etc/redis

cp /usr/local/src/redis/redis.conf /etc/redis/6379.conf

默认情况下,redis启动时不启用鉴权认证,如果有需要,可以在配置文件中进行设置requirepass参数。

通过上面的脚本修改后,我们可以再次使用下面的命令进行注册服务:

[javascript]view plaincopy

chkconfig --add redis

注册成功后,然后就是启动服务了,如下所示:

[javascript]view plaincopy

service redis start

至此,单实例redis服务便启动起来了。

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。互联网+时代,时刻要保持学习,携手千锋PHP,Dream It Possible。

共有 人打赏支持
粉丝 2
博文 70
码字总数 4863
×
大概率
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: