📌  相关文章
📜  uvicorn 错误:[Errno 98] 地址已在使用中 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:20:55.941000             🧑  作者: Mango

Uvicorn 错误:[Errno 98] 地址已在使用中

介绍

在开发过程中,有时可能会遇到 uvicorn 错误:[Errno 98] 地址已在使用中 的问题。这个错误通常是因为正在尝试使用的端口号已经被其他进程占用了,导致无法启动 uvicorn 服务器。

原因

常见的引起此错误的原因有:

  • 在同一台机器上同时运行了多个应用程序,而它们试图使用相同的端口号。
  • 之前的应用程序或服务器没有正确关闭,导致端口号仍然被占用。
解决方案

以下是一些解决 uvicorn 错误:[Errno 98] 地址已在使用中 的方法:

1. 更换端口号

尝试将 uvicorn 使用的端口号更换为其他可用的端口号。可以通过修改启动 uvicorn 服务器时指定的端口号来实现,例如:

uvicorn main:app --port 8001

将上述代码中的 8001 替换为其他未被占用的端口号。

2. 结束占用端口的进程

使用以下命令可以查看正在使用指定端口号的进程:

sudo lsof -i :端口号

将上述命令中的 端口号 替换为出现错误的端口号。然后根据输出的结果,使用以下命令结束正在运行的进程:

sudo kill -9 进程号

将上述命令中的 进程号 替换为要结束的进程号。

3. 等待一段时间

在端口号被释放之前,可以尝试等待一段时间,然后重新启动 uvicorn 服务器。

额外提示
  • 在开发过程中,尽量避免多个应用程序使用相同的端口号,以免引起端口冲突。
  • 检查代码中是否存在没有正确关闭的其他服务器或进程。

希望以上解决方案能帮助您解决 uvicorn 错误:[Errno 98] 地址已在使用中 的问题。