一、研究Redis的安裝路徑
Redis是一款基於內存的緩存數據庫,安裝路徑可以根據具體的環境有所不同。以Ubuntu系統為例,可以用以下命令查詢:
which redis-server
該命令會輸出Redis的安裝路徑,例如:
/usr/local/bin/redis-server
在實際設置開機啟動時,需要用到該路徑。
二、編寫啟動腳本
為了實現Redis開機啟動,我們需要編寫一個腳本,該腳本會在啟動時自動運行並啟動Redis服務。
對於Ubuntu系統,可以在/etc/init.d/
目錄下創建一個redis
文件,然後將以下代碼複製進去:
#!/bin/sh # # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. REDISPORT=6379 EXEC=/usr/local/bin/redis-server CLIEXEC=/usr/local/bin/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid 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 ;; restart|force-reload) ${0} stop ${0} start ;; *) echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
該腳本可以啟動、停止以及重啟Redis服務,以及對應的進程文件會存儲在/var/run/redis_[port].pid
中。
三、添加腳本到開機啟動項
為了使Redis服務在開機時啟動,需要將上一步中編寫的啟動腳本添加到開機啟動項中。
以Ubuntu系統為例,可以使用以下命令添加:
sudo update-rc.d redis defaults
該命令會將/etc/init.d/redis
文件添加到開機默認的啟動項中,從而實現開機自動啟動Redis服務。
四、檢查Redis服務狀態
在上述操作完成後,可以使用以下命令檢查Redis服務是否正常運行:
sudo service redis status
該命令會輸出Redis服務的狀態信息,例如:
● redis.service - Redis In-Memory Data Store Loaded: loaded (/lib/systemd/system/redis.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-06-10 16:57:31 CST; 5s ago Docs: http://redis.io/documentation, man:redis-server(1) Process: 11472 ExecStop=/usr/bin/redis-cli shutdown (code=exited, status=0/SUCCESS) Main PID: 11481 (redis-server) Tasks: 4 Memory: 462.0K CPU: 31ms CGroup: /system.slice/redis.service └─11481 /usr/local/bin/redis-server 127.0.0.1:6379
如果輸出的狀態是active (running)
,則說明Redis服務正常運行。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/150658.html