sytemd的execstartpre指令的作用是什么?

sytemd的execstartpre指令的作用是什么?

在此处输入图片描述

我正在努力https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-uwsgi-and-nginx-on-ubuntu-16-04,并已到达创建 systemd 单元文件的部分。

该文件如屏幕截图所示列出,但我对以下一行感到困惑:

ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown sammy:www-data /run/uwsgi'

我们将使用 ExecStartPre 指令来设置运行服务器所需的部分。这将确保创建 /run/uwsgi 目录,并且我们的普通用户拥有该目录,并以 www-data 组作为组所有者。带有 -p 标志的 mkdir 和 chown 命令即使不需要它们的操作也能成功返回。这就是我们想要的。

用简单的英语来说,这是什么意思以及为什么要这样做?

答案1

当服务启动时, 会ExecStartPre在服务启动之前运行。上面的命令会创建一个文件夹/run/uwsgi,然后将该文件夹的所有者设置为用户sammy

按照手册...

将套接字放入 /run/ 在现代系统上,/run/ 被安装为 tmpfs,是放入套接字和 pidfile 的正确位置。

我大胆猜测,本教程所解释的方法已被弃用。

您可以在这里找到有关使用 Systemd 运行 uWSGI 的更多信息...

http://uwsgi-docs.readthedocs.io/en/latest/Systemd.html

相关内容