linux服务器 系统服务文件 service
在 Ubuntu 系统中,服务的管理主要依赖于 systemd,它是现代 Linux 系统的默认初始化系统和服务管理器。服务的配置文件通常以 .service 为后缀,存放在特定的目录中,具体目录和用途如下:
系统服务目录
-
/etc/systemd/system/ 这是用户自定义服务的主要存放目录。任何在此目录下的服务文件都会优先于系统默认的服务文件。建议将自定义服务文件放在此目录中以便管理和持久化。
-
/lib/systemd/system/ 系统默认的服务文件存放目录。大部分系统服务的 .service 文件都位于此处。一般不建议直接修改此目录下的文件。
-
/usr/lib/systemd/system/ 某些发行版可能会将系统服务文件存放在此目录中,主要用于系统级服务的定义。
-
/run/systemd/system/ 临时服务文件目录,通常由系统动态生成,服务重启后可能会被清空。
用户服务目录
-
~/.config/systemd/user/ 用户级服务文件存放目录,适用于当前用户的服务管理。
-
/usr/lib/systemd/user/ 系统范围内的用户服务文件目录,适用于所有用户的服务。
1 文件的基本结构
[Unit]:服务的全局信息和依赖性声明,如服务名称、描述等。
[Service]:指定服务的具体配置,如服务执行的命令、工作目录等。
[Install]:指定服务的安装方式,如服务的启动级别等。
2 [Unit]字段的配置
Description:对服务的简短描述。
Before:定义服务在其他服务之前启动。
After:定义服务在其他服务之后启动。
Requires:定义服务启动需要哪些其他服务已启动,否则无法启动。
PartOf:定义该服务是其他服务的一部分,如果其他服务停止,该服务也会停止。
Wants:定义服务启动时可同时启动哪些其他服务。
Condition...:定义服务启动的条件,如ConditionPathExists表示某个路径存在时才启动该服务。
3 [Service]字段的配置
Type:服务类型,可以是simple、forking、ondemand、notify等。
Exec*:各种与执行相关的命令。
ExecStart:定义启动服务时执行的命令。
ExecStop:定义停止服务时执行的命令。
ExecStartPre:定义启动服务前执行的命令。
ExecStartPost:定义启动服务后执行的命令。
ExecStopPost:定义停止服务后执行的命令。
ExecReload:定义重启服务时执行的命令。
User:定义服务运行的用户。
Group:定义服务运行的用户组。
PrivateTmp:将服务的/tmp目录挂载到私有的命名空间中,以增强安全性。
Restart:定义服务异常退出时如何重启。
WorkingDirectory:定义服务工作目录。
Environment:定义服务的环境变量等。
ProtectSystem:防止服务对系统文件进行修改。
NoNewPrivileges:防止服务通过setuid或setgid等提升权限。
4 [Install]字段的配置
WantedBy:定义在哪些系统运行级别下启用此服务。
RequiredBy:启动其他系统服务时必需启动此服务。
示例:
[Unit] Description=ruoyi-backend-service After=syslog.target network.target [Service] Type=simple #ExecStart=/home/JarRun/nansha/start.sh ExecStart=/usr/bin/nohup /usr/local/btjdk/jdk8/bin/java -Xms1024m -Xmx1024m -Xmn256m -XX:MaxDirectMemorySize=5G -jar /home/JarRun/nansha/xxx_SOAP_NANSHA-0.0.1-SNAPSHOT.jar > /home/JarRun/nansha/PUSHAPI.log 2>&1 & echo $! > /home/JarRun/nansha/PUSHAPI.txt #ExecStop=/home/JarRun/nansha/stop.sh Restart=always RestartSec=300 StartLimitBurst=3 User=root Group=root #配置工作目录,默认是~。服务产生得文件、日志信息会存入到工作目录 WorkingDirectory=/home/JarRun/nansha [Install] WantedBy=multi-user.target

浙公网安备 33010602011771号