今天周一,一大早來公司,就聽到開發的同學說本地項目起不來了, 上周六加班兒還好好的, 應該是周日斷電導致的.
redis是關閉的,redis沒有設置開機自啟動,於是就先把問題先解決吧,然后寫個腳本設置redis開機自啟動。
1、在寫腳本前設置下redis允許在后台啟動,修改redis.conf文件,把daemonize no改成daemonize yes
2、開始編寫腳本
#vim /etc/init.d/redis --創建腳本文件
REDISPORT=6379
EXEC=/usr/local/software/redis-4.0.9/redis-server
CLIEXEC=/usr/local/software/redis-4.0.9/redis-cli
PIDFILE=/data/redis-data/redis-6379/redis.pid
CONF="/data/redis-data/redis-6379/conf/redis.conf"
這里我的redis安裝路徑是/usr/local/software/redis-4.0.9,端口為6379,然后redis.conf文件在/data/***/conf/redis.conf下面,你們根據自己的實際情況修改就行(這個腳本可以根據redis自帶的啟動腳本進行修改,它默認的路徑是在$redis/utils/redis_init_script,$redis是redis的安裝路徑)
1 #!/bin/sh 2 #chkconfig: 2345 80 05 3 #description: Start and Stop redis 4 5 REDISPORT=6379 6 EXEC=/usr/local/software/redis-4.0.9/redis-server 7 CLIEXEC=/usr/local/software/redis-4.0.9/redis-cli 8 9 PIDFILE=/data/redis-data/redis-6379/redis.pid 10 CONF="/data/redis-data/redis-6379/conf/redis.conf" 11 12 case "$1" in 13 start) 14 if [ -f $PIDFILE ];then 15 echo "$PIDFILE exists,process is already running or crashed" 16 else 17 echo "Starting Redis server..." 18 $EXEC $CONF 19 fi 20 ;; 21 stop) 22 if [ ! -f $PIDFILE ];then 23 echo "$PIDFILE does not exist,process is not running" 24 else 25 PID=$(cat $PIDFILE) 26 echo "Stopping..." 27 $CLIEXEC -p $REDISPORT shutdown 28 while [ -x /proc/${PID} ] 29 do 30 echo "Waiting for Redis to shutdown..." 31 sleep 1 32 done 33 echo "Redis stopped" 34 fi 35 ;; 36 restart) 37 "$0" stop 38 sleep 3 39 "$0" start 40 ;; 41 *) 42 echo "Please use start or stop or restart as first argument" 43 ;; 44 esac
3、寫完記得修改文件權限
#chmod +x /etc/init.d/redis
4、把腳本添加到系統服務列表
chkconfig --add redis chkconfig redis chkconfig --list chkconfig --help // 這里如果上傳的redis啟動文件有問題, 可以通過help命令具體操作;
5、reboot 服務器重啟,重啟后
6、ps -ef | grep redis 查看redis