如何在 Vue.js 前端和 node.js+MYSQL 后端之间进行内部通信

How to internally communication between Vue.js front end and node.js+MYSQL backend

我是 EC2 ubuntu 上 node.js 和 运行 网络应用程序的新手,现在,我的团队已经完成了 vue.js 前端项目,我也完成了node.js express + MYSQL 后端,我已经测试了服务器端的连接和设置 API (node.js + MYSQL) 从我们的 git 后端分支。前端已经通过侦听public IP地址在本地进行了测试。在 EC2 上托管服务器端时,现在是时候将前端项目(位于 front-end 分支)上传到 EC2 上以托管前端项目。现在我有两个问题:

  1. 我们是否应该将 back-endfront-end 分支合并到 main ?然后克隆 main?我已经克隆了我们的项目,但是在 git 上的 back-end 分支中。会不会有冲突?

  2. 如果 运行 两个项目都在 EC2 ubuntu 上,应该 API 侦听 4000 以上的端口(我认为这是 public 无法访问的?)像8080?它应该听本地主机还是 public IP 地址?

这是我与团队的第一个 SE 项目。网上找了那么多资源还是迷路了,非常感谢!

  1. should we merge back-end and front-end branches together to the main? and then clone main? I have already cloned our project but in back-end branch on git. would that conflict?

你为什么要这样做? Git 只是组织您的代码,并不规定代码的部署方式。

  1. If running both projects on EC2 ubuntu, should API listening on PORT above 4000 (which is I believe not publicly accessible?) like 8080?

默认情况下,AWS 上根本没有端口 public。您必须在 EC2 安全组中打开要打开的端口。 运行 如果您在安全组上打开该端口,则端口 8080 上的后端会很好。

should it listen to localhost or public IP address?

Vue 应用程序在每个用户的 Web 浏览器中运行,因此它无法监听 localhost。 AWS 上的 public IP 是 NATed,因此它可能也无法收听。一般这种服务会监听0.0.0.0.


请注意,到目前为止 none 是安全的,例如没有 SSL,因此 front-end 和 back-end 之间的所有通信都是公开的。 None 这是容错的,你的单个服务器宕机你的整个系统都宕机了。 None 这是可扩展的,如果您开始获得大量流量,您将无法添加更多服务器来处理负载。

我建议考虑使用 AWS Elastic Beanstalk 为您部署应用程序。它将为您提供轻松添加负载平衡、auto-scaling 和 SSL 证书的方法。