1. 程式人生 > 其它 >Centos設定Redis自啟動(Systemd)

Centos設定Redis自啟動(Systemd)

前言

在生產環境中,我們在設定Redis服務自啟動時有多種方式,這裡採用Systemd管理方式進行設定Redis,
Systemd管理起centos7版本中使用了systemd,systemd同時相容service,對應的命令就是systemctl。Systemd 是 Linux 系統中最新的初始化系統(init),它主要的設計目標是克服 sysvinit 固有的缺點,提高系統的啟動速度,使用systemd的目的是獲取更快的啟動速度。為了減少系統啟動時間,systemd的目標是
儘可能啟動較少的程序
儘可能將更多程序併發啟動
可以去檢視系統程序的pid,initd的pid是0,如果支援systemd的系統的systemd程序pid為1
systemd把不同的資源稱為Unit
每一個 Unit 都有一個配置檔案,告訴 Systemd 怎麼啟動這個 Unit
存放目錄:/etc/systemd/system 和 /usr/lib/systemd/system
對於有先後依賴關係的任務
systemctl融合service和chkconfig功能

步驟

建立服務啟動檔案,其中%i為佔位符變數,[email protected]中@符號後的7001引數會替換該變數(這裡我的redis配置檔案放到了redis目錄下埠資料夾下)

點選檢視程式碼
cat > /etc/systemd/system/[email protected] << EOF
[Unit]
Description=Redis persistent key-value database
After=network.target

[Service]
User=redis
Group=redis
Type=notify
ExecStart=/usr/local/bin/redis-server /usr/lcoal/redis609/%i/redis%i.conf --daemonize no --supervised systemd
ExecStop=/usr/local/bin/redis-cli -p %i shutdown
LimitNOFILE=10240
TimeoutStartSec=90s
TimeoutStopSec=90s
Restart=always

[Install]
WantedBy=multi-user.target
EOF

建立完成後啟動redis服務
重新載入某個服務的配置⽂件,如果新安裝了⼀個服務,歸屬於 systemctl
管理,要是新服務的服務程式配置⽂件⽣效,需重新載入。
systemctl daemon-reload systemctl enable --now redis@{7001,7002}.service