新增说明文件;新增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