最近在做作業的時候需要用到Redis緩存,由於每次重啟服務器都需要重新啟動Redis,也是忒煩人,於是就有了這一篇博客,好,廢話不多說。
只有兩個步驟:
設置redis.conf中daemonize為yes,確保守護進程開啟。
編寫開機自啟動腳本
基本原理為:
系統開機啟動時會去加載/etc/init.d/下面的腳本,通常而言每個腳本文件會自定義實現程序的啟動;若想將新的程序開機自啟動,只需在該目錄下添加一個自定義啟動程序的腳本,然後設置相應規則即可。
如在這裡我們在/etc/init.d/下新建一個 redis 的腳本,開機啟動時會去加載執行該腳本。
vim /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
寫完後保存退出
設置可執行權限:
chmod 755 redis
啟動測試:
/etc/init.d/redis start
啟動成功會提示如下信息:
Starting Redis server...Redis is running...
使用redis-cli測試:
[root@localhost ~]# /usr/local/redis/bin/redis-cli127.0.0.1:6379> set foo barOK127.0.0.1:6379> get foo"bar"127.0.0.1:6379> exit
設置開機自啟動:
chkconfig redis on
關機重啟測試:
reboot
開機完之後可以用 redis-cli 測試,或者用 ps -ef | grep redis 看看redis 是否在運行中
本篇博客大部分參考自Linux下Redis開機自啟(Centos),感謝原作者的貢獻
http://xxxxxx/Linuxjc/1134272.html TechArticle