新增说明文件;新增Docker、Redis、Tomcat示例

This commit is contained in:
huty 2024-05-10 15:32:00 +00:00 committed by cloud-init created default user
parent 7f1ab899dc
commit c02391ca11
4 changed files with 123 additions and 0 deletions

View 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一次性进程dbusD-Bus进程notify当前Service启动后会通知Systemdidle当其他任务执行完毕后当前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
View 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
View 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
View 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