我正在尝试使用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
我已阅读here所有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)部分时,我的烧瓶应用程序成功部署。
答案 0 :(得分:2)
问题可能是因为PATH环境变量在两种环境中不同。所以你应该使用绝对路径。变化
log-date = @(exec://date +%%F-%%H-%%M)
到
log-date = @(exec:///bin/date +%%F-%%H-%%M)