工作中部署的开源软件很多需要进到程序的bin目录执行start,每次都需要进入目录,而且不便于管理。将这类服务或者自开发的程序添加到systemctl管理起来就方便很多。
一、systemd配置文件
systemd 默认从目录/etc/systemd/system/读取配置文件,但里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/,真正的脚本存放在这个目录。
systemctl enable 命令用于在上面两个目录之间,建立符号链接关系。
/usr/lib/systemd/下有系统(system)和用户(user)之分,需要开机启动的服务放在/usr/lib/systemd/system目录下.
CentOS7的每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install]
[Unit]部分主要是对这个服务的说明
Description 用于描述服务
After 用于描述服务类别
[Service]是服务的一些具体运行参数的设置.
Type=forking 是后台运行的形式,
User=users 是设置服务运行的用户,
Group=users 是设置服务运行的用户组,
PIDFile 为存放PID的文件路径,
ExecStart 为服务的具体运行命令,
ExecReload 为重启命令,
ExecStop 为停止命令,
PrivateTmp=True 表示给服务分配独立的临时空间
注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错&