我在部署期间对django statice文件感到困惑

时间:2016-02-09 14:04:20

标签: django heroku django-staticfiles

我和django约两个月了。我一直关注youtube上的教程,其中一个教程说我在部署网站时必须使用两台服务器。 Django将从heroku和amazon s3的静态文件提供。我需要支付两个单独的服务器来部署django应用程序?我没想到这个,如果是这样的话,这不会在我的预算范围内。他错了还是仅仅是因为像他这样的特殊情况?任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

不,听起来像视频有点令人困惑。静态资产(即构成您网站的CSS / JS等)和动态媒体(即任何用户上传的内容)之间存在区别。

Heroku非常乐意为文件系统中的静态资源提供服务,并且他们的文档可以部署Django状态exactly how to do this。但是,您无法在Heroku上存储动态上传的内容,因为文件系统是短暂的。如果你的应用允许这样做,你需要将它们保存在永久性的地方,例如S3。

但请注意,S3 真的便宜;托管媒体文件应该只花费你几美分。

答案 1 :(得分:0)

您不需要2台不同的服务器来部署您的django项目。您可以使用单个Amazon EC2实例,然后安装Nginx / Apache + Supervisor + Gunicorn + Python。之后,您只需要从虚拟主机配置静态文件的位置。 Here's a tutorial from digital ocean.