当前位置: 首页 > 面试题库 >

Express应用程序中端口3000的意义

拓拔骁
2023-03-14
问题内容

我注意到,几乎所有Express.js应用程序示例都使用端口3000作为HTTP服务器的默认侦听端口。这仅仅是因为它是一个很少使用的端口,还是该端口号有其他原因吗?

如果要在本地计算机上并行运行多个应用程序,使用3000、3001、3002等端口是否是一种好习惯?

(我理解,理想情况下,您应该让系统分配端口。出于简单起见,这只是一个问题,为什么3000似乎是常规分配。)


问题答案:

3000选择一个有点随意的端口号是因为它允许您在express没有root用户访问权限的情况下进行试验(提升的特权)。端口80和443是默认的HTTP和HTTPS端口,但是在大多数环境中它们要求提升的特权。

在示例中使用端口3000还可以间接地强调您理想情况下是将express应用程序放在nginxApache
httpd或诸如此类的应用中,该应用将监听端口80和/或443。

没有理由(无论如何我都知道),为什么3000比8000或4000或8080或任何其他没有提升特权的端口号要好。



 类似资料:
  • 我的服务器上运行了一个node.js/express.js应用程序,它只在3000端口上工作,我正在试图找出原因。以下是我的发现: 在不指定端口()的情况下,应用程序会运行,但网页不会加载。 在端口3001()或任何其他未使用的端口上,应用程序运行但网页不加载。 在端口2999上,应用程序抛出错误,因为其他东西正在使用该端口。 在端口3000上,应用程序运行,网页加载良好。 我知道Express应

  • 我有一个节点。js Express web应用程序使用默认端口3000,通过弹性ip在Ubuntu EC2实例上响应良好。我试图在AWS中设置内置的负载平衡,但似乎无法通过良好的运行状况检查 安装2个ubuntu服务器,服务器应用程序罚款在端口3000. 将端口80的负载平衡器侦听器设置为路由到实例端口3000,并尝试将3000路由到3000。 将amazon-elb/amazon-elb-sg安

  • 我正在docker容器中运行react样板应用程序,托管Azure Web应用程序容器。 在本地,我通过以下方式启动应用程序: 我的docker文件如下所示: 应用程序设置 我尝试过用键/值对编辑应用程序设置,但没有效果: 显然Azure只为入站流量公开端口80和443: 80:应用程序服务环境中应用程序服务计划中运行的应用程序的入站HTTP流量的默认端口。在启用ILB的ASE上,此端口绑定到AS

  • 在本地测试它工作。在不同的端口(3001,8080) 但在测试服务器 (Azure) 上 我在同一台机器上运行2个Node App实例 和 但它只在3000端口上工作。 如何在Express中设置不同的端口? 现在,我已经在索引上的app.listen(3001)上进行了更改.js它不起作用。

  • 我一直在关注这个(http://socket.io/get-started/chat/)关于如何使用socket.io制作简单聊天应用程序的教程。 但是,我尝试使用Express创建它,我想知道为什么端口3000已经在使用中?除非我更改端口号,否则下面的代码将无法工作。 express是不是用端口做路由之类的其他事情?有没有一种简单的方法可以发现该端口上发生了什么? 我也可能对我需要的东西做了一些

  • 问题内容: 我在服务器上运行了一个Node.js / Express.js应用程序,该应用程序仅在端口3000上运行,我试图找出原因。这是我发现的: 如果不指定端口(),则该应用会运行,但网页不会加载。 在端口3001()或任何其他未使用的端口上,应用程序运行,但网页未加载。 在端口2999上,该应用程序引发错误,因为其他人正在使用该端口。 在端口3000上,该应用程序运行,并且网页加载正常。 我