首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何收集静电?

如何收集静电?
EN

Stack Overflow用户
提问于 2016-12-05 13:50:24
回答 2查看 1.8K关注 0票数 1

在将nginx配置为反向代理之前,我试图使用gunicorn来提供静态文件,我有点困惑。

当我运行我的应用程序时,它似乎无法在应用程序中找到静态文件夹。

我有以下脚本来运行Django应用程序。

代码语言:javascript
复制
#!/bin/bash

# Start with development server
# echo Start server.
# python manage.py runserver 0.0.0.0:8000

# python manage.py collectstatic --noinput  # Collect static files

# # Prepare log files and start outputting logs to stdout
touch /srv/logs/gunicorn.log
touch /srv/logs/access.log
tail -n 0 -f /srv/logs/*.log &

# # Start Gunicorn processes
echo Starting Gunicorn.
exec gunicorn django_project.wsgi:application \
    --name ds4dems \
    --bind 0.0.0.0:8000 \
    --workers 3 \
    --log-level=info \
    --log-file=/srv/logs/gunicorn.log \
    --access-logfile=/srv/logs/access.log \
    "$@"

结果是,样式和图像不是从main_app静态文件夹中收集的。

文件夹结构如下。

代码语言:javascript
复制
django_project
---- django_project
---- main_app
-------- static

随后,我尝试使用开发服务器运行相同的应用程序,并收集静态信息。然后,我重新运行与Gunicorn和样式和图像被服务到浏览器没有错误。

到底是怎么回事?

这和有关吗?是设置nginx让他查看文件的唯一可用选项吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-05 14:02:00

通过使用额外的中间件库:白雪公主,可以使用gunicorn提供静态文件。正如这些文档所显示的,您所需要做的就是将其包含在MIDDLEWARE_CLASSES设置中。

但是,请注意,仍然最好是直接通过nginx提供文件,而不是沿着这条路线前进。

还请注意,您似乎对收集静态文件和提供静态文件之间的区别感到困惑。“收集”是指进入所有单独的静态目录并复制/链接文件以供服务的过程。这是manage.py collectstatic命令的工作:它与gunicorn或nginx无关,您将始终需要运行该命令。一旦你这样做了,你将能够直接或通过惠特诺服务他们。

票数 3
EN

Stack Overflow用户

发布于 2016-12-05 13:55:44

Gunicorn本身只提供动态文件。

除了Ngnix之外,您还可以使用AWS S3RawGit来服务静态资产。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40975810

复制
相关文章

相似问题

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