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