在单机上用 python -m sglang.launch_server --model-path Qwen/Qwen2.5-7B-Instruct 启动,报 [Errno 98] Address already in use,换成 30001 还是同样的错,netstat 里也没看到 30000 在监听。
把日志和配置对完,能解释这个现象的基本就这几处。上一次的进程没退干净,TIME_WAIT 的 socket 还占着端口;启动脚本里同时起了两个实例,第二个必然失败;端口被别的推理框架占用,普通用户权限看不到;参数写了 --port 但配置文件又把值覆盖回默认。
先查端口真实占用者
sudo lsof -i :30000
结束残留的启动进程
pkill -f sglang.launch_server
然后换一个明确空闲的端口启动
python -m sglang.launch_server --model-path Qwen/Qwen2.5-7B-Instruct --port 31000
等前面都确认过,再验证 OpenAI 兼容接口可用
curl http://127.0.0.1:31000/v1/models
我习惯把每一步的执行时间和结果记在一边,后面复盘省事。
改之前我把相关日志按时间截了一段存着,事后对时间线用得上。
恢复的判定其实很直接。启动日志出现 The server is fired up,curl 能拿到模型列表,再启动第二个实例会明确提示端口占用而不是随机失败。
这里还有个坑。SGLang 和 vLLM 的默认端口都是 30000,同机装两个框架时启动参数里一定要显式分开。这类问题最好一次改到位,反复小改反而容易把原因搅混。
