转载自joshua317博客 https://www.joshua317.com/article/42
前面章节中redis安装的过程已经提到了redis服务启动的方式。这里再着重说明下
4.1 直接启动
通过cd
命令切换进入到redis的可执行目录,执行命令,执行默认的配置文件
# cd src
# ./redis-server
如果默认配置的文件没有指定在后台运行,在窗口关闭后服务就停止了,所以可以设置daemonize值为yes,保持后台常驻进程
daemonize yes
也可以通过 加上"&"号使redis以后台程序方式运行
# cd src
# ./redis-server &
4.2 通过指定配置文件启动
可以为redis服务启动指定配置文件,例如配置为/etc/redis/6379.conf,具体配置文件请查看redis配置章节。
# cd src
# ./redis-server /etc/redis/6379.conf
注意:
1.daemonize值要设置为yes,其他参数根据情况进行调整
daemonize yes
2.如果更改了reids的端口,使用redis-cli
客户端连接时,也需要指定端口,例如:
redis-cli -p 6380
4.3 设置redis开机自启动
启动脚本 redis_init_script 位于位于redis的 /utils/ 目录下,redis_init_script脚本代码如下:
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
#redis服务器监听的端口
REDISPORT=6379
#redis服务端可执行文件所在的位置
EXEC=/usr/local/bin/redis-server
#redis客户端可执行文件所在的位置
CLIEXEC=/usr/local/bin/redis-cli
#redis的PID文件所在的位置
PIDFILE=/var/run/redis_${REDISPORT}.pid
#redis的配置文件所在位置,需将${REDISPORT}修改为文件名
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
1.根据启动脚本,将修改好的配置文件复制到指定目录下,用root用户进行操作:
# mkdir /etc/redis
# cp redis.conf /etc/redis/6379.conf
2.将启动脚本复制到/etc/init.d目录下,并命名为redis
cp redis_init_script /etc/init.d/redis
3.设置redis开机自启动, 先切换到/etc/init.d目录下, 然后执行自启命令
# chkconfig redisd on
注意:
如果出现这样的错误: service redisd does not support chkconfig
只需要在/etc/init.d/redis文件开头添加如下注释来修改运行级别,需要带#号
#!/bin/sh
#chkconfig: 2345 90 10
然后再次执行chkconfig redisd on
命令即可。
#启动
# service redis start
#关闭
# service redis stop
4.4 redis关闭
1.先使用ps -aux | grep redis查看redis进程
[root@service-01 utils]# ps -aux|grep redis
root 3136 0.0 0.0 112812 976 pts/0 S+ 18:55 0:00 grep --color=auto redis
root 12873 0.5 1.9 307204 155592 ? Ssl Mar16 699:10 /usr/local/bin/redis-server 127.0.0.1:6379
2.使用kill命令杀死进程
[root@service-01 utils]# kill -9 12873