我对服务器端 scipts 有点陌生。我对 javascript 相当有能力,所以我决定看一下 node.js,而不是 php 或 python 等。如果我错了,请纠正我,但似乎当我编码我的网络服务器时,我可以自由选择我收听的端口号。这个端口号有什么意义吗?或者我可以选择我想要的任何随机数吗?无论我选择什么号码,任何人都可以向我的服务器发送请求吗?
提前致谢!
如果您想直接运行 node.js 而无需任何支持的 Web 服务器或反向代理(没有 nginx、varnish、apache 等),您需要在端口 80 上侦听 HTTP 和(可选)443 上的 HTTPS,如果您想要正常的 URL工作。否则,用户将需要在 URL 中键入端口号,http://example.com:3000
这对于面向公众的站点来说是闻所未闻的。
但是,您几乎可以肯定想要使用单独的 Web 服务器,正如我在此处详细描述的那样,在这种情况下,任何超过 1024 的端口都可以。
如果您具有 root 访问权限,则可以选择尚未绑定到进程的任何端口。
如果您没有 root 访问权限,您可以选择任何高于 1024 且尚未绑定到进程的端口。
如果您提供 HTTP,通常要使用端口 80,但是,您可以通过 URL 端口语法访问任何端口上的 HTTP 服务器。例如,端口 3000 上的服务器。http://yourdomain.com:3000
如果您在 Linux 上运行并且不想以 root 身份运行 Node 进程,则可以将端口 80 流量重定向到另一个端口。