文章目录

  • 背景
  • 实现
  • 创建 `服务别名.service` 文件,添加服务自启内容
  • 将redis.service 文件拷贝至 /etc/systemd/system 目录
  • 重载系统服务
  • 添加开机自启并启动定义的系统服务


背景

服务器安装的是CentOS7系统,服务器上运行有服务A,现在需要实现服务器关机重启后,服务A能够自动启动。


实现

创建 服务别名.service 文件,添加服务自启内容

服务别名是对当前服务的一个描述,通过服务别名可以很快就知道当前的服务是一个什么服务。

CentOS7 系统服务存放在 /etc/systemd/system 目录下,如下(博主自己虚拟机中的系统):

centos6服务加入开机自启动 centos7 服务自启动_centos6服务加入开机自启动


从上图中可以看到系统安装后系统自己注册的一些系统服务。

我们这里以 redis 服务为例子,首先我们准备两个脚本文件:启动redis服务脚本停止redis服务脚本

  • 服务启动脚本的内容如下:

centos6服务加入开机自启动 centos7 服务自启动_CentOS7_02

  • 服务停止脚本的内容如下:

centos6服务加入开机自启动 centos7 服务自启动_linux_03


别忘记给这两个脚本添加可执行权限:chmod +x A.sh

  • 使用 vim 命令编辑一个 redis.service 文件,并给文件添加服务自启内容,同学们记得保存。内容如下:

centos6服务加入开机自启动 centos7 服务自启动_centos6服务加入开机自启动_04

我们在 service 区块中用到了上面预先准备好的两个脚本,然后给 ExecStart 和 ExecStop 项配置了对应的执行脚本。

其他配置项基本可以通用(按照上图配置即可)。

不过应用在特殊场景下的系统服务,我们需要添加额外的配置项,所以这里给出两个参考供同学们自行学习:

CentOS 7 系列(四)系统服务配置 服务(Service)

CentOS7使用systemctl添加自定义服务


将redis.service 文件拷贝至 /etc/systemd/system 目录

  • 复制使用命令:
cp redis.service /etc/systemd/system
  • 移动(相当于剪切)使用命令:
mv redis.service /etc/systemd/system

重载系统服务

目的是为了让系统知道我们自定义添加了这么一个系统服务(这里是redis.service)。

使用命令:

systemctl daemon-reload

添加开机自启并启动定义的系统服务

自启添加,使用命令:systemctl enable redis.service

centos6服务加入开机自启动 centos7 服务自启动_注册系统服务_05

启动系统服务,使用命令:systemctl start redis,我们同时看一下运行状态,如下:

centos6服务加入开机自启动 centos7 服务自启动_centos6服务加入开机自启动_06


进程如下:

centos6服务加入开机自启动 centos7 服务自启动_CentOS7_07

可以看到启动成功了。


A little bit of progress every day!Come on!