use*_*380 2 server permissions nginx
我正在通过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'
Run Code Online (Sandbox Code Playgroud)
我们将使用 ExecStartPre 指令来设置运行服务器所需的部分。这将确保 /run/uwsgi 目录已创建,并且我们的普通用户以 www-data 组作为组所有者拥有该目录。带有 -p 标志的 mkdir 和 chown 命令都会成功返回,即使不需要它们的操作。这就是我们想要的。
用简单的英语来说,这是什么意思以及为什么要这样做?
小智 5
当服务启动时,它ExecStartPre
会先于服务运行。在上面的命令中,它创建一个文件夹/run/uwsgi
,然后将该文件夹的所有者设置为 user sammy
。
按照说明书...
将套接字放入 /run/ 在现代系统中,/run/ 作为 tmpfs 挂载,是放置套接字和 pidfile 的正确位置。
我大胆猜测教程解释的方式已被弃用。
您可以在此处找到有关使用 Systemd 运行 uWSGI 的更多信息...
http://uwsgi-docs.readthedocs.io/en/latest/Systemd.html