linux systemd 网络,Linux Systemd配置文件详解

以docker.service为例,说明各个参数的含义:

[Unit] #主要用于配置整个服务的详情信息以及服务依赖,用于快速识别该服务的相关情况以及依赖项目

Description=Docker Application Container Engine #服务的简单描述

Documentation=https://docs.docker.com#指定服务的文档,便于管理员快速追溯

BindsTo=containerd.service#和Requires类似,但是依赖性更强,这里列出来的任何服务停止运行或崩溃,该服务将立即被停止。考虑服务的启动依赖,一般会和After一起使用

After=network-online.target firewalld.service#用于指定该服务在那些服务之后启动 ,停止时正好相反

Wants=network-online.target#Requires的弱化版,当该服务启动时,尽可能的启动该指令指定的服务,但不会影响该服务的启动

#Before#用于指定该服务在那些服务之前启动,停止时正好相反

#Requires #设置该服务必须依赖的其他服务,因此在该服务启动之前,指定的服务列表必须全部在线,否则服务将启动失败或掉线。但如果未设置After和Before指令时,该服务和依赖的服务将会并行的同时启动。注意: 该指令依赖的服务不一定要在整个生命周期都保持一直在线,这取决于其他的检查条件

#Requisite#和Requires类似,区别是在该服务启动时,该指令指定的依赖资源必须全部处于启动成功的状态,否则该服务立马失败,并且不会启动那些失败的依赖服务。因此一般建议Requisite和After 一起联合使用会比较好。

#PartOf#和Requires类似,但仅作用于服务的停止和重启,表示该服务是所列服务的一部分,会随指定服务的启动而启动。注意: 该指令是单向依赖,服务的主动的重启不会影响其他

[Service]#主要用于配置整个服务生命周期的管理行为

Type=notify#设置进程的启动类型。必须设为 simple, exec, forking, oneshot, dbus, notify, idle 之一

#具体见 “http://www.jinbuguo.com/systemd/systemd.service.html#”

EnvironmentFile=-/etc/sysconfig/docker#指定包含key=value的配置文件 -$(filename)表示可忽略,即当文件不存在或环境变量加载失败时也不影响后续的处理逻辑。

#Environment #指定Key=Value 的环境配置

#进程生命周期管理

ExecStart=/usr/bin/dockerd -H unix:// $DOCKER_OPTS#启动逻辑, 该指令用于启动进程的核心逻辑

ExecReload=/bin/kill -s HUP $MAINPID#热加载, 该指令用于对进程进行热加载,通常情况用于 配置变更后的热重启

#重启策略

TimeoutSec=0#一个同时设置 TimeoutStartSec= 与 TimeoutStopSec= 的快捷方式。

RestartSec=2#多久后重启

Restart=always#当服务进程正常退出、异常退出、被杀死、超时的时候,是否重新启动该服务。always无条件重启

StartLimitBurst=3#启动的最大次数限制,超过后停止继续重启

StartLimitInterval=60s#启动时间的最大间隔

#资源限制

LimitNOFILE=infinity#限制进程使用的文件描述符数量,等同ulimit -n

LimitNPROC=infinity#限制进程的数量,等同于ulimit -u

LimitCORE=infinity#???

TasksMax=infinity

Delegate=yes

KillMode=process#设置在单元停止时,杀死进程的方法。process 表示仅杀死主进程。

[Install]#用于配置服务的安装级别,当我们设置服务在Linux的那种级别下启动或开机自启动时会加载该部分(典型的当chkconfig nginx on或者systemctl enable|disable nginx.service时会读取该部分的配置)

WantedBy=multi-user.target #设置启用服务的依赖服务

参考链接:

https://bgbiao.top/post/systemd-doc/

http://www.jinbuguo.com/systemd/systemd.index.html

你可能感兴趣的:(linux,systemd,网络)