You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu系统AWS EC2实例运行NodeJS服务提示端口占用问题求助

解决方案

  • 先确认占用端口的进程身份:执行ps aux | grep [你查到的占用端口的PID]查看进程归属,如果是你的Node服务,说明当前系统配置了进程守护工具自动重启该服务,按对应工具操作即可:
    • 若使用PM2托管服务:执行pm2 list查看正在运行的Node服务列表,执行pm2 delete [对应服务名称]彻底终止服务并取消自动重启
    • 若使用systemd托管服务:执行systemctl list-units | grep node查找对应的服务单元,执行systemctl stop [服务名] && systemctl disable [服务名]终止服务并禁用开机自启
    • 若使用Docker部署服务:执行docker ps查看是否有容器占用对应端口,执行docker stop [容器ID]终止占用端口的容器
  • 检查Nginx配置:正常反向代理场景下Nginx仅需监听80/443端口,将请求转发到Node服务的端口即可,不要让Nginx直接监听Node要使用的端口,避免端口冲突
  • 修复Node代码已知问题:你当前提交的代码中缺少body-parser模块的引入逻辑,会导致服务启动报错,在代码开头添加const bodyParser = require('body-parser');即可
  • 若修改任意端口均提示占用,可调整Node监听逻辑,指定仅监听本地回环地址:
    app.listen(port, '127.0.0.1', () => {
      console.log(`Server successfully started`);
    });
    
    同时检查启动脚本是否存在重复执行启动命令的逻辑,避免同一服务被多次启动引发端口冲突
  • 所有排查完成后重新启动Node服务即可。

内容的提问来源于stack exchange,提问作者Jorden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:54:03