其他分享
首页 > 其他分享> > 在Django生产教程上提供静态文件

在Django生产教程上提供静态文件

作者:互联网

有没有人有关于在Django生产应用程序上提供静态文件的简单分步教程?我读了Django docs,听起来真的很复杂……我正在尝试使用不同的服务器(如lighttpd,nginx或cherokee)来提供静态文件,但设置这些文件对我来说都是希腊语.我下载了lighttpd,试图按照说明安装,并在几秒钟内收到错误.错过了这个或那个或者诸如此类的东西……我不是一个UNIX专家,我不是很擅长C/C++,所以这一切./configure和MAKE安装对我来说都是胡言乱语…所以我想我的直接问题是:

>您建议使用哪种服务器来提供易于安装且易于维护的静态文件?
>假设我实际上启动并运行了服务器,那么什么?如何告诉Django在其他服务器上查找文件?
>同样,任何人都有逐步的教程?

非常感谢!

解决方法:

对不起,没有一步一步的教程.但这里有一个可能有用的高级概述:

>你可能想要使用Apache服务器(http://httpd.apache.org/)这附带了大多数* nix发行版.
>然后你想使用mod python(或者作为评论者指出mod_wsgi:http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/)连接到Django:http://docs.djangoproject.com/en/dev/howto/deployment/modpython/?from=olddocs.完成这一步后,Apache现在面向Django.
>接下来,您希望将Django中的静态文件收集到一个目录中,并在该目录中指向apache.如果使用django.contrib.staticfiles(http://docs.djangoproject.com/en/dev/howto/static-files/),可以使用./manage.py collectstatic执行此操作.

所以诀窍是你没有告诉Django将服务静态文件委托给特定的服务器.相反,你告诉httpd通过Django提供哪些网址以及哪些网址是静态文件.

另一种说法是所有请求都来自Apache Web服务器.根据您在httpd.conf中指定的规则,Web服务器将决定请求是针对静态文件还是针对django生成的动态文件.如果它是静态文件,它将只提供文件.如果请求是针对动态文件的,它将通过modpython将请求传递给Django.

希望有所帮助.

标签:nginx,static,django,lighttpd,cherokee
来源: https://codeday.me/bug/20190621/1255098.html