首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用nginx和Gunicorn运行Django stdout输出到哪里?

使用nginx和Gunicorn运行Django stdout输出到哪里?
EN

Stack Overflow用户
提问于 2020-04-17 18:57:36
回答 2查看 755关注 0票数 1

例如,在我的_application/setings.py文件中,我有几个print语句,因此:

代码语言:javascript
复制
print( 'running settings.py: ALLOWED_HOSTS: ' )
print( '\n'.join( ALLOWED_HOSTS ) )

..。在运行nginx和Gunicorn的远程服务器上,这个输出到底是去哪里的?

我知道这可能是一个严重的安全漏洞,打印ALLOWED_HOSTS在任何地方,据我所知。这只是一个例子:我正处于学习/实验阶段。

编辑AKX的答案

我没有办法让stdout被定向到journalctl,即使使用-R交换机也是如此。

..。经过多次实验、挫折和令人困惑的502错误之后,我终于找到了一种方法:我的systemd配置文件现在如下所示:

代码语言:javascript
复制
[Unit]
Description=Gunicorn server for mysite.xyz

[Service]
Restart=on-failure
User=mike
WorkingDirectory=/home/mike/sites/mysite.xyz
EnvironmentFile=/home/mike/sites/mysite.xyz/.env

ExecStart=/home/mike/sites/mysite.xyz/virtualenv/bin/gunicorn \
    --bind unix:/tmp/mysite.xyz.socket \
    -R \
    --capture-output \
    --error-logfile /home/mike/gunicorn-error.log \
    superlists.wsgi:application

[Install]
WantedBy=multi-user.target

..。实际上,我发现仅包含-R开关是不够的:您似乎还必须包括--capture-output交换机和--error-logfile交换机(NB --如果不设置该开关,是否存在错误输出的默认目的地)。

使用上面的配置文件,stdout从settings.py转到~/gunicorn-error.log文件。太好了。

EN

回答 2

Stack Overflow用户

发布于 2020-04-17 19:03:13

枪角的标准指向的地方。

例如,如果在systemd下运行,它们最终将进入系统日志,您可以使用journalctl阅读该日志。

票数 0
EN

Stack Overflow用户

发布于 2020-04-17 19:32:01

当您运行gunicorn时,有一个名为-- access的特殊参数,它指定要写入的访问日志文件。如果您喜欢stdout,那么将'-‘设置为value参数。例如:

代码语言:javascript
复制
gunicorn  --access-logfile - demoapp.wsgi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61278761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档