redis开机自动服务脚本
1.设置redis.conf中daemonize为yes,确保守护进程开启。
2.编写开机自启动脚本
基本原理为:
系统开机启动时会去加载/etc/init.d/下面的脚本,通常而言每个脚本文件会自定义实现程序的启动;若想将新的程序开机自启动,只需在该目录下添加一个自定义启动程序的脚本,然后设置相应规则即可。
如在这里我们在/etc/init.d/下新建一个 redis 的脚本,开机启动时会去加载执行该脚本。
# chkconfig: 2345 10 90 #redis服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,关闭的优先级是10。 # description: Start and Stop redis PATH=/usr/local/bin:/sbin:/usr/bin:/bin export PATH REDISPORT=6379 #端口号,这是默认的,如果你安装的时候不是默认端口号,则需要修改 EXEC=/usr/local/redis/bin/redis-server #redis-server启动脚本的位置,你如果忘了可以用find或whereis找到 REDIS_CLI=/usr/redisbin/redis-cli #redis-cli客户端启动脚本的位置,你如果忘了可以用find或whereis找到 PIDFILE=/run/redis.pid #这个也可以用find或whereis找到 CONF="/usr/local/redis/etc/redis.conf" #redis.conf配置文件的位置,你如果忘了可以用find或whereis找到 AUTH="1234" 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 exists, process is not running." else PID=$(cat $PIDFILE) echo "Stopping..." $REDIS_CLI -p $REDISPORT SHUTDOWN sleep 2 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
写完后保存退出
设置可执行权限:
1
|
chmod 755 redis |
启动测试:
1
|
/etc/init .d /redis start |
启动成功会提示如下信息:
1
2
|
Starting Redis server... Redis is running... |
使用redis-cli测试:
1
2
3
4
5
6
|
[root@localhost ~] # /usr/local/redis/bin/redis-cli 127.0.0.1:6379> set foo bar OK 127.0.0.1:6379> get foo "bar" 127.0.0.1:6379> exit |
设置开机自启动:
1
|
chkconfig redis on |
关机重启测试:
1
|
reboot |
开机完之后可以用 redis-cli 测试,或者用 ps -ef | grep redis 看看redis 是否在运行中