我在部署期间对 django statice 文件感到困惑
i'm confused about django statice files during deployment
我使用 django 大约两个月了。我一直在关注 youtube 等教程,其中一个教程说我在部署我的网站时必须使用两台服务器。 Django 将由 heroku 和 amazon s3 的静态文件提供服务。我必须为两个单独的服务器付费才能部署 Django 应用程序吗?我没想到会这样,如果是这样的话,这将不在我的预算之内。是他错了还是这只是针对像他这样的特殊情况?任何帮助将不胜感激
不,视频听起来有点混乱。静态资产(即构成您网站的 CSS/JS 等)和动态媒体(即任何用户上传的内容)之间存在区别。
Heroku 可以非常愉快地提供来自文件系统的静态资产,以及他们关于部署 Django 状态的文档 exactly how to do this。但是你不能在 Heroku 上存储动态上传的内容,因为文件系统是临时的。如果您的应用允许这样做,您需要将它们保存在永久性的地方,例如 S3。
但是请注意,S3 确实便宜;在那里托管媒体文件应该只花几分钱。
您不需要 2 台不同的服务器来部署您的 Django 项目。您可以只使用一个 Amazon EC2 实例,然后安装 Nginx/Apache+Supervisor+Gunicorn+Python。之后,您只需要从虚拟主机配置静态文件的位置。 Here's a tutorial from digital ocean.
我使用 django 大约两个月了。我一直在关注 youtube 等教程,其中一个教程说我在部署我的网站时必须使用两台服务器。 Django 将由 heroku 和 amazon s3 的静态文件提供服务。我必须为两个单独的服务器付费才能部署 Django 应用程序吗?我没想到会这样,如果是这样的话,这将不在我的预算之内。是他错了还是这只是针对像他这样的特殊情况?任何帮助将不胜感激
不,视频听起来有点混乱。静态资产(即构成您网站的 CSS/JS 等)和动态媒体(即任何用户上传的内容)之间存在区别。
Heroku 可以非常愉快地提供来自文件系统的静态资产,以及他们关于部署 Django 状态的文档 exactly how to do this。但是你不能在 Heroku 上存储动态上传的内容,因为文件系统是临时的。如果您的应用允许这样做,您需要将它们保存在永久性的地方,例如 S3。
但是请注意,S3 确实便宜;在那里托管媒体文件应该只花几分钱。
您不需要 2 台不同的服务器来部署您的 Django 项目。您可以只使用一个 Amazon EC2 实例,然后安装 Nginx/Apache+Supervisor+Gunicorn+Python。之后,您只需要从虚拟主机配置静态文件的位置。 Here's a tutorial from digital ocean.