MEAN堆栈:一个平均堆栈应用程序是否需要运行两个服务器?

时间:2018-07-11 13:14:11

标签: javascript node.js angular mongodb express

我正在制作MEAN Stack应用。 MEAN(MongoDB,ExpressJs,Angular 6,NodeJs)。

我很困惑,是否会有两个用于运行该应用程序的服务器(我们必须同时运行两个服务器)

用于后端(节点)http://localhost:3000和 前端(Angular)http://localhost:4200

如果没有,那么如何运行该应用程序?

3 个答案:

答案 0 :(得分:0)

在开发中,您运行两个应用程序,但在生产中则没有。 通常,您会构建前端应用程序(在本例中为Angular 6),因此只有静态资产(JS,HTML等),并且可以通过Web服务器简单地为其提供服务。 Express应用程序必须单独运行,可能需要使用Web服务器上设置的反向代理。

答案 1 :(得分:0)

  

我们必须同时运行两台服务器

是的。至少一台数据库服务器(MongoDB)和一台Web服务器(NodeJS)。

  

对于后端(节点)http://localhost:3000和前端(角度)http://localhost:4200

不是。 mongodb服务器将在内部端口(默认为27017)上启动,并且Web服务器应通过端口80(和/或443,如果需要TL)回答请求。为了进行测试,您可以确定分配其他端口,但是如果要投入生产,则端口3000和4200是无用的。但是这些端口不是由其他服务器打开的,而是由Web服务器打开的。而且没有“前端端口” ...

答案 2 :(得分:-2)

您可以使用Angular Universal Starter,这意味着您只需要一台服务器。