对于 Node.js 应用程序,何时使用端口 3000 与 8080?

For Node.js applications, when to use port 3000 vs 8080?

我一直在阅读一些教程,尽管它们中的大多数都将端口 3000 用于节点应用程序。其中一些使用端口 8080 代替。我想知道推荐的做法是什么,在什么情况下我们应该使用另一个。有什么指导方针吗?

当端口 8080 被您服务器上的另一个程序(可能是另一个节点服务器,传统上由 http 代理使用)使用时,您使用端口 3000。然后,如果端口 3000 和 8080 已被使用,您可以使用 3001 或 3002 或 30000 或 10000。任何未使用的端口都可以。

node.js 结束时没有任何官方说法,因为没有任何官方评论与此相关。

您会发现很多人对分别为 http 和 https 使用端口 80 和 443 是标准感到困惑。好吧,这是标准 PC 的标准,这些细节在 1994 年发布的支持 T.B 的文档中披露。李.

对于一般的网络使用,尽量不要使用 1024 以下的端口,否则您必须在网络服务器上具有根访问权限才能 运行 该过程。就像另一个人说的那样,只要使用任何未使用的端口就可以了,但要高于 1024,否则您需要 root 访问权限。

我建议您使用任何反向代理引擎来使事情变得更容易和合适。最好是 nginx,它们甚至可以帮助您拥有多个服务器实例,这将帮助您正确使用服务器。尽管没有必要使用反向代理,因为无论如何没有它也能正常工作。

我建议反向代理,因为通常我们不会充分利用可用的服务器容量,因此使用集群将帮助我们获得更高的性能。

Note : If you are not going to use the application in real domain and you are just trying things then please ignore the reverse proxy part, it is only important if you want to scale your application.

参考资料

Click Here

我认为端口“3000”和端口“8080”在您阅读的教程中都用于开发目的,在这种情况下,任何一个都可以很好地工作,并且没有一个比另一个更好。所以你可以选择一个来使用。但是,在您完成开发并希望将项目部署到生产环境后,请根据需要选择合适的端口,例如 "http or "443 的“80”和 "https" 的“80”。