CentOS设置软件开机自启动

1. 前言

在进行CentOS上开发时,将一些软件设置为开机启动,又或者是能够使用systemctl命令进行启动会增加便利性,这里介绍CentOS上自定义开机启动的方法。

systemctl 用于系统服务的配置,部署,RedHat系已经将systemd作为了其默认的系统服务管理工具。其他实现方法也有service命令,或者直接修改/etc/init.d文件,再或者使用chkconfig这样的工具。

2. 本文分析内容安排

  • 建立服务文件
  • 保存目录
  • 设置开机启动

3. 建立服务文件

开机启动配置文件在/lib/systemd/system目录中,服务以.service结尾,这里以docker仓库项目registry为例进行说明。registry启动需要加配置文件,配置文件为config-example.yml,我将之放到了/home/neo/docker-registry目录中,将registry移动到了/usr/bin目录下,那么启动registry镜像仓库的命名为registry /home/neo/docker-registry/config-example.yml。每次都这么启动太过麻烦,这里介绍开机自启动方式,首先建立服务文件/lib/systemd/system/registry.service。文件的具体内容为:

[Unit]
Description=Docker Registry
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/registry /home/neo/docker-registry/config-example.yml
Execstop=/bin/kill /usr/bin/registry

[Install]
WantedBy=multi-user.target

注意:[Service]中需要加上Execstop=/bin/kill /usr/bin/registry,不然当执行systemctl start registry命令时不会退出到后台

4. 保存文件

以644的权限保存文件

5. 设置开机启动

改变service文件时需要执行systemctl daemon-reload来使改变生效
启动registry服务命令:
systemctl start registry
开启启动registry命令:
systemctl enable registry

相关推荐