我创建了node.js应用程序,所以只留下部署部分,我想将它部署到Ubuntu服务器,所以我买了虚拟服务器托管。
首先,我认为这很简单,因为只需将我的代码推送到服务器,然后运行app.js
即可。也许并不那么困难。所以我在谷歌搜索了一些相关的文档,我发现了这个:https://www.phusionpassenger.com/library/walkthroughs/deploy/nodejs/ownserver/nginx/oss/trusty/deploy_app.html
该文档有关于nginx和乘客内容的指导,我不知道为什么会出现这种情况。我应该在我的linux主机上安装nginx吗?我红了,是否与安全原因有关?
答案 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无关。您的节点应用程序应该完全独立运行。