月度归档:2018年11月

systemctl管理双redis启动、停止、开机自动启动

systemctl管理双redis启动、停止、开机自动启动
1. 创建服务
用service来管理服务的时候,是在/etc/init.d/目录中创建一个脚本文件,来管理服务的启动和停止,在systemctl中,也类似,文件目录有所不同,在/lib/systemd/system目录下创建一个脚本文件redis_6379.service,里面的内容如下:

[Unit]
Description=Redis
After=network.target

[Service]
ExecStart=/usr/local/bin/redis-server /usr/local/redis/redis_6379.conf  –daemonize no
ExecStop=/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown

[Install]
WantedBy=multi-user.target
[Unit] 表示这是基础信息 
Description 是描述
After 是在那个服务后面启动,一般是网络服务启动后启动
[Service] 表示这里是服务信息 
ExecStart 是启动服务的命令
ExecStop 是停止服务的指令
[Install] 表示这是是安装相关信息 
WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
更详细的service文件说明请访问:这里

2. 创建软链接
创建软链接是为了下一步系统初始化时自动启动服务

ln -s /lib/systemd/system/redis_6379.service /etc/systemd/system/multi-user.target.wants/redis_6379.service
1
创建软链接就好比Windows下的快捷方式 
ln -s 是创建软链接 
ln -s 原文件 目标文件(快捷方式的决定地址)

如果创建软连接的时候出现异常,不要担心,看看/etc/systemd/system/multi-user.target.wants/ 目录是否正常创建软链接为准,有时候报错只是提示一下,其实成功了。

$ ll /etc/systemd/system/multi-user.target.wants/
total 8
drwxr-xr-x  2 root root 4096 Mar 30 15:46 ./
drwxr-xr-x 13 root root 4096 Mar 13 14:18 ../
lrwxrwxrwx  1 root root   31 Nov 23 14:43 redis_6379.service -> /lib/systemd/system/redis_6379.service
…略…

3. 刷新配置
刚刚配置的服务需要让systemctl能识别,就必须刷新配置

$ systemctl daemon-reload
如果没有权限可以使用sudo
$ sudo systemctl daemon-reload
4. 启动、重启、停止
启动redis

$ systemctl start redis_6379
重启redis

$ systemctl restart redis_6379 
停止redis

$ systemctl stop redis_6379
1
5. 开机自启动
redis服务加入开机启动

$ systemctl enable redis_6379
1
禁止开机启动

$ systemctl disable redis_6379
1
6. 查看状态
查看状态

$ systemctl status redis

● redis_6379.service – Redis
   Loaded: loaded (/usr/lib/systemd/system/redis_6379.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2018-11-12 14:32:32 CST; 2min 30s ago
  Process: 305 ExecStop=/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown (code=exited, status=0/SUCCESS)
 Main PID: 335 (redis-server)
   CGroup: /system.slice/redis_6379.service
           └─335 /usr/local/redis/bin/redis-server 127.0.0.1:6379

Nov 12 14:32:32 10-13-35-210 systemd[1]: Started Redis.
Nov 12 14:32:32 10-13-35-210 systemd[1]: Starting Redis…

其他端口,复制一份

redis_6379