開機自啟動redis(其他服務類似)
centos 7以上是用Systemd進行系統初始化的,Systemd 是 Linux 系統中最新的初始化系統(init),它主要的設計目標是克服 sysvinit 固有的缺點,提高系統的啟動速度。
Systemd服務文件以.service結尾,比如現在要建立redis為開機啟動,如果用yum install命令安裝的,yum命令會自動創建redis.service文件,直接用命令systemcel enable redis.service設置開機啟動即可。
下面為源碼安裝的redis-server設置開機自啟
1、我編譯安裝的目錄是:/usr/local/redis/bin
所以配置⽂件⽬錄為:/usr/local/redis/bin/redis.conf
2、在系統服務目錄里創建redis.service文件
vim /etc/systemd/system/redis.service(vim /lib/systemd/system/redis.service)
3、寫入以下內容:
1 [Unit] 2 Description=redis-server 3 After=network.target 4 5 [Service] 6 Type=forking 7 ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf 8 PrivateTmp=true 9 10 [Install] 11 WantedBy=multi-user.target
注意:ExecStart配置成自己的路徑

4、配置描述:
Description:描述服務
After:描述服務類別
[Service]服務運行參數的設置
Type=forking是后台運行的形式
ExecStart為服務的具體運行命令
ExecReload為重啟命令
ExecStop為停止命令
PrivateTmp=True表示給服務分配獨立的臨時空間
注意:[Service]的啟動、重啟、停止命令全部要求使用絕對路徑
[Install]運行級別下服務安裝的相關設置,可設置為多用戶,即系統運行級別為3
5、測試並加入開機自啟
先關閉redis-server
systemctl stop redis.service
開啟redis-server
systemctl start redis.service #如果服務是開啟狀態,使用此命令會啟動失敗。
6、開啟成功,將服務加入開機自啟
systemctl enable redis.service #注意后面不能跟空格
7、重啟服務器,查看是否開機啟動 shutdown -r now #重啟
8、查看服務運行狀態
systemctl status redis.service

9、全部命令
systemctl start redis.service #啟動redis服務
systemctl enable redis.service #設置開機自啟動
systemctl disable redis.service #停止開機自啟動
systemctl status redis.service #查看服務當前狀態
systemctl restart redis.service #重新啟動服務
systemctl list-units --type=service #查看所有已啟動的服務
