有個同事說重啟了伺服器沒有自啟動redis,我看了一下,是以前手動編譯安裝的模式,沒有配置開機啟動的服務
這邊做個筆記記錄一下redis如何設定編譯安裝模式的開機自啟動。
配置檔案路徑:/etc/redis.conf
daemonize是守護程序的意思
把daemonize no改成daemonize yes
make install安裝命令是不帶自啟動指令碼的。
而redis官方提供了乙個手動編譯時的自啟動指令碼,
但是需要通過另外乙個工具來安裝。我們切換到目錄中的utils目錄下
具體路徑:/usr/local/redis/utils
指令碼檔案會依次提示我們選擇redis-server所使用的埠、配置檔案、日誌檔案、庫檔案以及啟動檔案。
如果保持預設的話直接輸入enter即可。
它就會自動複製編譯好的檔案到對應的目錄中去,
如第下圖中所示,同時自動將redis設定為開機自啟動,但是使用的是chkconfig命令。
linux chkconfig命令用於檢查,設定系統的各種服務。
這是red hat公司遵循gpl規則所開發的程式,它可查詢作業系統在每乙個執行等級中會執行哪些系統服務,其中包括各類常駐服務。
使用ps -aux命令檢視自啟動的redis程序
然後在/etc/init.d/目錄下可以看到redis_6379這個自啟動指令碼。
使用chkconfig --list命令檢視
可以看到redis程式在2,3,4,5這四個等級下是開機自啟動的。
關於chkconfig的命令可以檢視我另外乙個mysql自啟動的帖子:
配置檔案路徑:/etc/redis.conf
daemonize是守護程序的意思
把daemonize no改成daemonize yes
vim /etc/init.d/redis複製下面**到指令碼中
!注意要修改裡面redis的安裝路徑:我這邊的安裝路徑是/usr/local/redis/
這段**就是redis根目錄 /utils/redis_init_script 啟動指令碼的**
我這邊是用了install_server.sh自動生成的,所以不用改那麼多東西,直接用就行
直接chmod + x /etc/init.d/redis
然後systemctl start redis_6379就可以啟動了
#!/bin/sh#configurations injected by install_server below....
exec=/usr/local/redis/src/redis-server
cliexec=/usr/local/redis/src/redis-cli
pidfile=/var/run/redis_6379.pid
conf="/etc/redis/6379.conf
"redisport="
6379
"###############
# sysv init information
# chkconfig: - 58
74# description: redis_6379 is the redis daemon.
### begin init info
# provides: redis_6379
# required-start: $network $local_fs $remote_fs
# required-stop: $network $local_fs $remote_fs
# default-start: 234
5# default-stop: 016
# should-start: $syslog $named
# should-stop: $syslog $named
# short-description: start and stop redis_6379
# description: redis daemon
### end init info
case"$1
"instart)
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/$ ]
doecho
"waiting for redis to shutdown ...
"sleep
1done
echo
"redis stopped"fi
;; status)
pid=$(cat
$pidfile)
if [ ! -x /proc/$ ]
then
echo
'redis is not running
'else
echo
"redis is running ($pid)"fi
;; restart)
$0stop
$0start
;;*)
echo
"please use start, stop, restart or status as first argument";;
esac
Centos7安裝Redis 設定Redis啟動
wgettar zxvf redis 5.0.4.tar.gzyum install gcccd redis 5.0.4make malloc libcmv redis 5.0.4 usr local 選擇資料夾執行 cd src make install安裝完成!執行完make命令後,進入src ...
Centos7設定redis開機啟動
1.vi lib systemd system redis.service unit description redis after network.target service type forking pidfile var run redis 6379.pid execstart usr lo...
CentOS7下Redis的安裝和設定開機啟動
以下命令預設都是在root許可權下執行 wget tar xvzf redis 5.0.2.tar.gz cd redis 5.0.2 make 編譯 make install redis cli redis server等執行檔案會拷貝到 usr local bin 成功安裝完成後可以在任意目錄執...