同时运行多个node服务

本文最后更新于:19 小时前

同时运行多个node服务,需要解决端口占用的问题

同时运行多个node服务

需要考虑的几个问题:

  • 端口占用竞争问题,3000端口已经被占用了,后面的node服务进程用什么端口?
  • 端口安全问题,服务器防火墙要打开进程对应的端口,哪些端口是可以安全打开的?,使用Nginx代理本地端口,这样可以不必在防火墙上打开端口

一、端口占用

node进程,不像Vite Dev Server一样,能够动态决定端口,5073被占用了,就自动改用5074。node进程端口被占用后,服务被启动不了了。所以就需要自己指定端口。

image-20230505112846020

node进程的端口是怎么决定的?

  • /bin/www,指定默认端口

    image-20230505113229641
  • /app.js,可以在此设置端口(可以成功修改,但是总感觉不应该是这么设置,process.env应该是环境变量)

    image-20230505113408014
  • npm script脚本指定端口(正确使用方式!),参考链接:process.env环境变量 - 掘金 (juejin.cn)

    image-20230505120439454

二、可开放的安全端口

首先需要避开已经被其它服务使用的端口,下面列举了一些常用服务的端口

端口 服务
443 HTTPS协议
80 HTTP
21 FTP(上传下载文件)
22 SSH
23 Telnet(远程登陆)
25 SMTP(邮件服务)
53 DNS服务
3000 Express
3306 MySQL
27017 MongoDB
8080 WWW代理开放此端口
1500 RPC协议(客户固定端口会话查询)
4000、8000 QQ

木马端口: 31、456、555、1600等等


同时运行多个node服务
http://timegogo.top/2023/05/05/后端/node:同时运行多个node服务/
作者
丘智聪
发布于
2023年5月5日
更新于
2026年6月10日
许可协议