使用日期在 uwsgi ini 文件中创建日志文件时出错

Error when creating log file in uwsgi ini file using date

我正在尝试使用 uWSGI 在 Nginx 上部署我的 Flask 应用程序。 我使用 this 教程来部署我的烧瓶应用程序。 我有以下 ini 文件: extractor.ini

    [uwsgi]
    module = wsgi:app

    master = true 
    processes = 5

    socket = extractor.sock
    chmod-socket = 660

    vacuum = true

    log-date = @(exec://date +%%F-%%H-%%M)
    logdir = /home/rkok/extractor/logs/
    daemonize = %(logdir)uwsgi-%(log-date).log

    die-on-term = true

然而,当我尝试使用

开始我的项目时
sudo systemctl start extractor

当我检查服务状态时,它显示以下错误:

uwsgi[31788]: /bin/sh: 1: date: not found

我读过 所有 2.x 版本都应该支持 @(exec://date +%%F-%%H-%%M)。 %%F-%%H-%%M在ini文件中应该变成YYYY-mm-dd-HH-MM格式。

我的反应是它说它可能是我的路径,但我不确定如何在 ini 文件中检查我的路径,因为我使用的是 virtualenv 而不是我的系统环境。 我的系统设置:

Ubuntu 16.04 LTS x64
Python 3.5.2
Virtualenv 15.1.0
uWSGI 2.0.15
Nginx 1.10.3

所以我的问题是:如何让 uWSGI 使用 ini 文件中的系统日期时间生成新的日志文件?

ps。当我省略 @(exec://date +%%F-%%H-%%M) 部分时,我的烧瓶应用程序部署成功。

问题可能是因为两个环境中的 PATH 环境变量不同。所以你应该改用绝对路径。变化

log-date = @(exec://date +%%F-%%H-%%M)

log-date = @(exec:///bin/date +%%F-%%H-%%M)