Centos7系統下編寫systemd腳本設置redis開機自啟動


今天想設置redis開機自啟動,我覺得這樣子比較好,但是在網上找了很長時間發現大家都是基於chkconfig的寫法來設置的,並不能由systemd進程來統一管理,所以這里我自己編寫了一個,希望大家可以提出寶貴意見。

首先是在配置文件將redis的進程設置為daemon守護模式運行

接下來編寫unit代碼:

[root@ELK-chaofeng04 system]# cat redis.service 
[Unit]
Description=nginx scripts 
After=network.target remote-fs.target nss-lookup.target syslog.target

[Service]
Type=forking
Password=123456
PidPort=6379
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli -a ${Password} -p ${PidPort} shutdown

[Install]
WantedBy=multi-user.target

將這段代碼貼在配置文件中,然后命名為redis.service並放在/usr/lib/systemd/system目錄下即可。最后使用systemctl  enable redis即可設置成功開啟自啟動。

首先需要說的有以下幾點:

1、unit單元中沒有添加status查看狀態,我覺得我這里一般通過判斷端口來查看redis進程是否正常的。

2、在Execstart中,我是自定義了一個redis的配置文件,並啟動的時候指定一下配置文件的絕對路徑。

3、在ExecStop中,我用到了-a參數,后面跟的是密碼,因為redis的登錄密碼我已經在配置文件中開啟認證了,所以使用redis-cli登錄的時候需要指定密碼,否則不能關閉redis進程。關於密碼的設置我在之前的博客也有可以查看。

不足:

1、unit單元中的路徑都是給定的,比如配置文件的路徑等,所以移動配置文件的時候需要修改unit

2、密碼在配置文件中修改以后,也需要在unit單元中進行修改才可以。這樣子造成一些麻煩。

3、沒有status狀態查看。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM