execstart 要写绝对路径
User=nginx Group=nginx PIDFile=/run/nginx.pid Type=forking # 定义启动类型 # simple : 默认值,通过ExecStart字段启动进程 # notify : 类似于simple,服务启动结束后会发出通知信号,然后Systemd再启动其他服务 EnvironmentFile=-/etc/sysconfig/nginx # 依赖环境,可以指定多个 EnvironmentFile=-/etc/default/nginx ExecStartPre=/usr/bin/rm -f /run/nginx.pid # 启动服务之前执行的命令 ExecStartPre=/usr/sbin/nginx -t ExecStart=/usr/sbin/nginx # 启动时,多个会被最后一个覆盖 ExecStartPost= # 启动服务之后执行的命令 ExecReload=/bin/kill -s HUP $MAINPID # 重启服务时执行的命令 ExecStop= # 停止服务时执行的命令 ExecStopPost= # 停止服务之后执行的命令 TimeoutStopSec=5 # 设置停止超时时间 KillMode=process # 重启行为配置,详见如下介绍 # control-group : 默认值,当前控制组里面的所有子进程,都会被杀掉 # process : 只杀主进程,信号可以通过如下方式定义 # mixed : 主进程将收到SIGTERM信号,子进程收到SIGKILL信号 # none : 没有进程会被杀掉,只是执行服务的stop命令 KillSignal=SIGQUIT Restart=on-failure # 意外失败后重启方式,正常停止不重启 # no : 默认值,退出后不重启 # on-success : 只有正常退出时(退出状态码为0),才会重启 # on-failure : 非正常退出时 (退出状态码非0),包括被信号终止和超时,才会重启 # on-abnormal : 只有被信号终止和超时,才会重启 # on-abort : 只有在收到没有捕捉到的信号终止时,才会重启 # on-watchdog : 超时退出,才会重启 # always : 不管是什么退出原因,总是重启 RestartSec=10 # 重启服务之前,需要等待的秒数,默认100ms PrivateTmp=True # 给服务分配独立的临时空间