在将node.js应用程序部署到linux服务器时,是否必须要求Nginx?

时间:2016-01-24 11:58:00

标签: linux node.js nginx

我创建了node.js应用程序,所以只留下部署部分,我想将它部署到Ubuntu服务器,所以我买了虚拟服务器托管。

首先,我认为这很简单,因为只需将我的代码推送到服务器,然后运行app.js即可。也许并不那么困难。所以我在谷歌搜索了一些相关的文档,我发现了这个:https://www.phusionpassenger.com/library/walkthroughs/deploy/nodejs/ownserver/nginx/oss/trusty/deploy_app.html

该文档有关于nginx和乘客内容的指导,我不知道为什么会出现这种情况。我应该在我的linux主机上安装nginx吗?我红了,是否与安全原因有关?

3 个答案:

答案 0 :(得分:0)

不,您不需要在Node.js服务器前运行Nginx。 请咨询您的主机提供商,向公众开放的端口是什么,并让您的node.js应用程序监听该端口。

Nginx默认侦听端口80,即默认的http端口。尝试让您的节点应用程序也听取该端口

答案 1 :(得分:0)

不,但我认为这是一个很好的做法! Nginx是一款轻巧,快速,安全,轻便的产品。可扩展的Web /代理服务器。世界上最繁忙的网站使用NGINX!它将作为服务运行,它将监听来自外部世界(Internet)的所有流量,在您的情况下,您可能希望告诉它侦听Web(端口80)流量,并将其重定向到您的NodeJS app(例如在端口8000上运行);这是一个不错的主意,它是透明的,而且,如果调整得很好,它将增强您的网站!此外,Nginx非常适合网络和移动应用交付。 nginx的安装和配置非常简单,您应该将类​​似于以下示例的内容集成到它中,以使您的应用程序对Internet开放。

所以你可以:

让NodeJS应用程序保持在本地运行,并尝试在Linux服务器上安装nginx,并将端口80上的流量代理到localhost:8000(例如端口8000)。像这样:

D_1

答案 2 :(得分:0)

Nginx只是一个Web代理服务器。在您想要使用两个后端服务器并在它们之间实现负载平衡之前,与Ngnix无关。您的节点应用程序应该完全独立运行。