新增说明文件;新增Docker、Redis、Tomcat示例
This commit is contained in:
parent
7f1ab899dc
commit
c02391ca11
58
description/description.service
Normal file
58
description/description.service
Normal file
@ -0,0 +1,58 @@
|
||||
# 定义 Unit 的元数据,以及配置与其他 Unit 的关系
|
||||
[Unit]
|
||||
## 当前 service 文件的描述
|
||||
Description=This is description
|
||||
## 文档地址
|
||||
Documentation=https://wiki.hty1024.com
|
||||
## 当前 Service 依赖的其他 Service,如果没有会启动失败,多个时用空格间隔
|
||||
Requires=a.target b.service
|
||||
## 当前 Service 依赖的其他 Service,如果没有不会启动失败,多个时用空格间隔
|
||||
Wants=c.service
|
||||
## 如果这些 Service 停止,则当前 Service 停止,多个时用空格间隔
|
||||
BindsTo=d.target
|
||||
## 这些 Service 不能和当前 Service 同时启动,多个时用空格间隔
|
||||
Conflicts=e.target
|
||||
## 这些 Service 需要在当前 Service 之后启动,多个时用空格间隔
|
||||
Before=f.target
|
||||
## 这些 Service 需要在当前 Service 之前启动,多个时用空格间隔
|
||||
After=g.target
|
||||
## 当前 Service 必须满足的条件,如果没有不会启动,多个时用空格间隔
|
||||
Condition=h.target
|
||||
## 当前 Service 必须满足的条件,如果没有会启动失败,多个时用空格间隔
|
||||
Assert=i.target
|
||||
|
||||
# 定义 Service 的配置
|
||||
[Service]
|
||||
## 当前 Service 的类型,可选值:simple:启动主进程(默认);forking:启动子进程;oneshot:一次性进程;dbus:D-Bus进程;notify:当前Service启动后会通知Systemd;idle:当其他任务执行完毕后,当前Service才会启动
|
||||
Type=forking
|
||||
## 启动 Service 的命令
|
||||
ExecStart=
|
||||
## 启动当前 Service 之前执行的命令
|
||||
ExecStartPre=
|
||||
## 启动当前 Service 之后执行的命令
|
||||
ExecStartPost=
|
||||
## 重启当前 Service 的命令
|
||||
ExecReload=
|
||||
## 停止当前 Service 的命令
|
||||
ExecStop=
|
||||
## 停止当前 Service 之后执行的命令
|
||||
ExecStopPost=
|
||||
## 自动重启当前 Service 间隔秒数
|
||||
RestartSec=
|
||||
## 当前 Service 的重启规则,可选值:always:总是重启;on-success:成功时重启;on-failure:失败时重启;on-abnormal:不正常时重启;on-abort:中断时重启;on-watchdog:指定监察器
|
||||
Restart=
|
||||
## 停止当前 Service 之前等待的秒数
|
||||
TimeoutSec=
|
||||
## 指定环境变量
|
||||
Environment=
|
||||
|
||||
# 定义如何启动,以及是否开机启动
|
||||
[Install]
|
||||
## 当前 Service 的别名
|
||||
Alias=
|
||||
## 当前 Service 需要的其他 Service,多个时用空格间隔
|
||||
WangtedBy=
|
||||
## 当前 Service 依赖的其他 Service,多个时用空格间隔
|
||||
RequiredBy=
|
||||
## 当前 Service 关联的其他 Service,多个时用空格间隔
|
||||
Also=
|
35
examples/docker.service
Normal file
35
examples/docker.service
Normal file
@ -0,0 +1,35 @@
|
||||
[Unit]
|
||||
Description=Docker Application Container Engine
|
||||
Documentation=https://docs.docker.com
|
||||
After=network-online.target firewalld.service
|
||||
Wants=network-online.target
|
||||
Requires=docker.socket
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
Environment=PATH=/opt/docker/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
# the default is not to use systemd for cgroups because the delegate issues still
|
||||
# exists and systemd currently does not support the cgroup feature set required
|
||||
# for containers run by docker
|
||||
ExecStart=/opt/docker/bin/dockerd -H unix://var/run/docker.sock
|
||||
ExecReload=/bin/kill -s HUP
|
||||
# Having non-zero Limit*s causes performance problems due to accounting overhead
|
||||
# in the kernel. We recommend using cgroups to do container-local accounting.
|
||||
LimitNOFILE=infinity
|
||||
LimitNPROC=infinity
|
||||
LimitCORE=infinity
|
||||
# Uncomment TasksMax if your systemd version supports it.
|
||||
# Only systemd 226 and above support this version.
|
||||
#TasksMax=infinity
|
||||
TimeoutStartSec=0
|
||||
# set delegate yes so that systemd does not reset the cgroups of docker containers
|
||||
Delegate=yes
|
||||
# kill only the docker process, not all processes in the cgroup
|
||||
KillMode=process
|
||||
# restart the docker process if it exits prematurely
|
||||
Restart=on-failure
|
||||
StartLimitBurst=3
|
||||
StartLimitInterval=60s
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
15
examples/redis.service
Normal file
15
examples/redis.service
Normal file
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Redis Server
|
||||
Documentation=https://redis.io
|
||||
After=network-online.target firewalld.service
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/opt/redis/bin/redis-server /opt/redis/redis.conf
|
||||
ExecReload=/opt/redis/bin/redis-server -s reload
|
||||
ExecStop=/opt/redis/bin/redis-server -s stop
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
15
examples/tomcat.service
Normal file
15
examples/tomcat.service
Normal file
@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Apache Tomcat
|
||||
Documentation=https://tomcat.apache.org
|
||||
After=network-online.target firewalld.service
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/opt/tomcat/apache-tomcat-9.0.89/bin/startup.sh
|
||||
ExecReload=/opt/tomcat/apache-tomcat-9.0.89/bin/shutdown.sh & kill -9 $(ps aux | grep /opt/toomcat/apache-tomcat-9.0.89 | grep -v grep | awk '{print $2}' | tr -d ' ') & /opt/tomcat/apache-tomcat-9.0.89/bin/startup.sh
|
||||
ExecStop=/opt/tomcat/apache-tomcat-9.0.89/bin/shutdown.sh
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in New Issue
Block a user