服务端口占用排查
595 字
3 分钟
服务端口占用排查
服务端口占用排查
服务启动时报端口占用,说明指定端口已经有进程在监听。处理时先找出是谁占用了端口,再决定停止它还是换端口。
不要直接杀进程,先确认它是不是正在提供线上服务。
Linux 查看端口
ss -lntp | grep ':3000'lsof -i :3000ss 能看到监听状态和进程信息。没有权限时可能需要 sudo。
Windows 查看端口
netstat -ano | findstr :3000Get-Process -Id <PID>释放端口
如果确认占用进程可以停止,优先使用服务自己的停止命令或 systemctl stop。只有临时开发进程才考虑直接 kill。
kill -TERM <pid>ss -lntp | grep ':3000' || echo 'port free'改端口时同步配置
如果选择改端口,要同步修改前端 API 地址、反向代理、环境变量和防火墙规则。只改启动命令,很可能导致服务启动了但访问不到。
实战复盘
使用《服务端口占用排查》时,我会先确认环境边界:本地还是服务器,Windows 还是 Linux,开发环境还是线上环境。很多命令本身没错,但换了系统或权限就会得到完全不同的结果。
修复后不要只看报错消失,还要做业务层验证。比如端口释放后服务是否重新启动,缓存清理后页面是否显示新内容,pip 安装后目标环境是否真的能 import。
排查记录的质量取决于可复现性。只要别人能按文章从现象走到验证,这篇文章就不是临时笔记,而是一张可靠的操作卡片。
最小验收样例
验收《服务端口占用排查》时,我会保留一条修复前命令和一条修复后命令。前者证明问题存在,后者证明问题已经消失,而不是只凭浏览器或终端感觉判断。
如果这篇文章涉及服务器操作,还要记录当前路径、用户、服务名和关键配置文件。排查记录越能还原现场,下次遇到同类问题越不需要重新摸索。
小结
端口冲突要先定位进程,再决定停止还是换端口。线上环境尤其要避免误杀正在工作的服务。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
Jupyter kernel 缺失排查
问题解决记录 Jupyter 找不到虚拟环境 kernel 时的安装、注册和检查方法。
2
SSH 连接超时排查
问题解决整理 SSH 连接超时时从网络、端口、安全组和 sshd 服务排查的顺序。
3
Nginx 404 与 403 排查
问题解决从站点根目录、权限、location 匹配和错误日志四个方向区分 Nginx 404 与 403。
4
Windows 路径空格问题排查
问题解决整理 Windows 路径中空格导致命令失败时的引号、转义和工作目录处理方法。
5
Markdown 代码块未闭合排查
问题解决记录 Markdown 代码块未闭合导致页面格式错乱时的定位和修复方法。
随机文章随机推荐













