使用systemctl管理指定服务需要做的配置

前戏

Centos 7服务的systemctl脚本存放在:/usr/lib/systemd,其中有系统服务(system)和用户(user)之分
我们一般把需要systemctl管理的服务放到/usr/lib/systemd/目录下
而且,每一个服务以通常.service结尾,并且该脚本一般分为三个部分:Unit、Service、Install

配置systemctl管理服务的脚本如下

[Unit]		#对服务的说明部分
Description=xxx
After=network.target #描述服务类别,表示本服务需要在network服务启动后在启动
Before=xxx.service   # 表示需要在某些服务启动之前启动,After和Before字段只涉及启动顺序,不涉及依赖关系。
[Service]	#核心部分
Type=forking	 #后台运行模式
User=user        #设置服务运行的用户
Group=user       #设置服务运行的用户组
PIDFile=/usr/local/xxx    #存放PID的绝对路径
KillMode=control-group    #定义systemd如何停止服务
ExecStart=/usr/local/bin/forever start /node.js/xiyoulib/bin/www
ExecReload=/usr/local/bin/forever restart /node.js/xiyoulib/bin/www
ExecStop=/usr/local/bin/forever stop /node.js/xiyoulib/bin/www
Restart=no        #定义服务进程退出后,systemd的重启方式,默认是不重启
PrivateTmp=true   #表示给服务分配独立的临时空间
[Install]	#服务的相关部分
WantedBy=multi-user.target	#多用户

注意该脚本配置好之后,需要授予755的权限保存在/usr/lib/systemd目录下,然后我们就可以使用systemctl管理指定的服务了

systemctl相关命令

#查看当前的运行级别
systemctl get-default 
#设置默认的运行级别
systemctl set-default multi-user.target
#切换运行级别(不需要重启)
systemctl isolate multi-user.target
systemctl isolate graphical.target
#systemctl管理服务
systemctl start xxx
systemctl stop xxx
systemctl restart xxx
systemctl reload xxx
systemctl enable xxx
systemctl disable xxx

#systemctl配置开机自启动原理
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
posted @ 2021-03-04 11:57  看萝卜在飘  阅读(706)  评论(0编辑  收藏  举报