同时运行多个node服务
本文最后更新于:19 小时前
同时运行多个node服务,需要解决端口占用的问题
同时运行多个node服务
需要考虑的几个问题:
- 端口占用竞争问题,3000端口已经被占用了,后面的node服务进程用什么端口?
端口安全问题,服务器防火墙要打开进程对应的端口,哪些端口是可以安全打开的?,使用Nginx代理本地端口,这样可以不必在防火墙上打开端口
一、端口占用
node进程,不像Vite Dev Server一样,能够动态决定端口,5073被占用了,就自动改用5074。node进程端口被占用后,服务被启动不了了。所以就需要自己指定端口。
node进程的端口是怎么决定的?
/bin/www,指定默认端口
/app.js,可以在此设置端口(可以成功修改,但是总感觉不应该是这么设置,process.env应该是环境变量)
npm script脚本指定端口(正确使用方式!),参考链接:process.env环境变量 - 掘金 (juejin.cn)
二、可开放的安全端口
首先需要避开已经被其它服务使用的端口,下面列举了一些常用服务的端口
| 端口 | 服务 |
|---|---|
| 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 |
木马端口: 31、456、555、1600等等
同时运行多个node服务
http://timegogo.top/2023/05/05/后端/node:同时运行多个node服务/