繁体   English   中英

如何用Nodejs前后端部署到Heroku,Docker

[英]How to deploy to Heroku with Nodejs frontend, backend, and Docker

有类似的帖子,但我的案例在 NodeJS-frontend-backend-Docker-Heroku 上非常具体,所以我已经坚持了整整一周。

任务:我有 2 个文件夹前端和后端。 我在这两个文件中都有 Dockerfile,例如 /frontend/Dockerfile 和 /backend/Dockerfille。 我在根目录中还有 docker-compose.yml 和 Procfile。

尝试 1:更改为 Dockerfile.frontend 和 Dockerfile.backend。 我使用heroku:container push --recursive 在 Heroku 上成功部署,我也已经有scale=1 它不起作用。

尝试 2:将 Dockerfile.frontend 更改为 Dockerfile.web 和 Dockerfile.backend。 前端 web 正在运行,但我无法登录,所以我不能确定。 我无法使用POST https://mycoolapp.herokuapp.com/api/users/login向后端调用 api 请求。 我也用过 Postman 也没有任何反应。

我的猜测:后端要么根本不工作,要么我使用process.env.PORT || localhost:5000 process.env.PORT || localhost:5000不正确。

我真的需要帮助。 对不起我的英语不好。 谢谢你。

我通过将前端和后端推送到不同的应用程序来解决它。

对于每个文件夹,我将有 1 个具有web npm start的 Procfile

然后,我将前端的 API 从localhost:5000/api/info更改为myappname.herokuapp.com/api/info

说明:我相信“网络”进程类型是唯一接受外部 HTTP 的特殊进程类型。所以我的后端以前没有工作,而我的前端(网络)工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM