之前安装好了Redis服务之后,每次开启与关闭都需要去redis目录下去运行脚本,相当的繁琐,于是试着将redis的注册成系统服务,如此便可以方便的对其进行各种操作,以下为具体的注册服务配置:
将Redis做成一个服务 service
1.复制redis init脚本到/etc/rc.d/init.d目录
按以上步骤默认安装Redis时,其服务脚本位于:
/usr/software/redis/redis-3.0.1/utils/redis_init_script
必须将其复制到/etc/rc.d/init.d的目录下,同时易名为redis:
cp /usr/software/redis/redis-3.0.1/utils/redis_init_script /etc/rc.d/init.d/redis
2.将redis配置文件拷贝到/etc/redis/目录下:
mkdir /etc/redis
cp /usr/software/redis/redis-3.0.1 /redis.conf /etc/redis/6379.conf
这样下面3中redis服务脚本需要指定的CONF就存在了。默认情况下,Redis未启用认证,可以通过开启6379.conf的requirepass 指定一个验证密码。
3.更改redis的服务脚本
vi /etc/rc.d/init.d/redis
#!/bin/sh
#chkconfig: 2345 8090
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/software/redis/redis-3.0.1/src/redis-server
CLIEXEC=/usr/software/redis/redis-3.0.1/src/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/etc/redis/6379.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 ..."
sleep1
done
echo"Redis stopped"
fi
;;
*)
echo "Pleaseuse start or stop as first argument"
;;
esac
注:以上红色标准部分为修改的脚本:
1)原文件是没有以下第2行的内容的,
引用#chkconfig: 2345 80 90
2)更改EXEC、CLIEXEC、PIDFILE、CONF参数,设置对应的目录值,如上所示即和前面安装的一致。
3)更改redis开启的命令,以后台运行的方式执行:
$EXEC $CONF &
注意后面的那个“&”,即是将服务转到后面运行的意思,否则启动服务时,Redis服务将
占据在前台,占用了主用户界面,造成其它的命令执行不了。
4.更改redis的服务脚本
以上操作完成后,即可注册服务:
chkconfig --add redis
$ service redis start
Starting Redis server...
$ ps -ef | grep redis
root 1269 1 009:59 ? 00:00:00/usr/software/redis/redis-3.0.1/src/redis-server *:6379
$ service redis stop
Stopping ...
Redis stopped
1.1 命令配置
将Redis的命令所在目录添加到系统参数PATH中
1)修改profile文件:
$ vi /etc/profile
在最后行添加:
exportPATH="$PATH:/usr/software/redis/redis-3.0.1/src"
2)然后应用这个文件:
$ ./etc/profile
3)这样就可以直接调用redis-cli的命令了,如下所示:
$ redis-cli
127.0.0.1:6379>