如何部署 django 后端并将前端应用程序反应到同一域

Posted

技术标签:

【中文标题】如何部署 django 后端并将前端应用程序反应到同一域【英文标题】:How to deploy a django backend and react frontend app to same domain 【发布时间】:2019-06-17 22:37:26 【问题描述】:

所以我在谷歌上搜索了这个问题的答案,并找到了一种使用 medium article 将一个 react 应用程序部署到 github 页面的方法。 问题是我的反应应用程序有一个 django 后端。所以github页面不起作用。我也知道如何将 django 站点部署到 heroku。我也知道您可以将反应应用程序部署到 heroku。但是单独部署它们会使它们具有不同的域。现在有没有办法部署一个全栈 django 并将应用程序反应到 heroku 以便两者具有相同的域?

【问题讨论】:

【参考方案1】:

可以做的事情:

为这两个部分使用子域。例如www.yourdomain.com 用于前端,api.yourdomain.com 用于后端。您可以在不更改当前托管策略的情况下执行此操作,只需从子域重定向到相应的托管。

在 heroku 上托管您的 react 应用程序并使用 heroku 域服务。这可能需要一个小的 NodeJS 包装器来让 react 应用程序运行,但这并不费力

【讨论】:

对于第一个选项,我不需要真正的自定义域,因为该项目是一个练习项目,所以想象一下在 heroku 上托管 django 后端并获得一个域“yoursite.herokuapp.com”后,如何我要添加前端反应部分吗? 我认为这是不可能的,因为您实际上并没有访问您的 heroku 域。您需要一个可以访问 dns 记录的实际***域。对于练习项目,您可以在dot.tk获得一个免费域名

以上是关于如何部署 django 后端并将前端应用程序反应到同一域的主要内容,如果未能解决你的问题,请参考以下文章

部署单独的 React 前端和 Django DRF API

将单独的 Dyno 用于反应前端和 Django 后端时的 Cookie

网络错误 Django 后端反应前端

如何从 nginx 发送请求并将容器反应到 Spring Boot 容器?

使用 nginx 部署 django 并在云上做出反应

前端Vue+后端Django项目创建以及自动部署流程