PM2 启动 Node.js 应用时出现 “Error: listen EADDRINUSE” 错误的解决方法
当使用 PM2 启动 Node.js 应用时,有时会出现 “Error: listen EADDRINUSE” 错误,这表示该端口已经被占用。本文将介绍如何解决这个问题。
- 查找占用端口的进程
首先,我们需要查找哪个进程占用了该端口。可以使用以下命令:
---- ---- -- ----
例如,如果端口号为 3000,可以使用以下命令:
---- ---- -- -----
该命令会输出占用该端口的进程信息。
- 结束占用该端口的进程
如果找到了占用该端口的进程,可以使用以下命令结束该进程:
---- ---- ---
例如,如果占用该端口的进程号为 1234,可以使用以下命令结束该进程:
---- ---- ----
- 修改应用端口号
如果该端口被其他应用占用,可以修改应用的端口号。可以在应用代码中修改端口号,或者在启动命令中指定端口号。
例如,在应用代码中修改端口号:
----- ---- - ---------------- ----- ---- - ----- ----- ------ - ----------------------- ---- -- - -------------- -------- --- ------------------- -- -- - ------------------- -- --------- -- ---- ---------- ---
在启动命令中指定端口号:
--- ----- ------ ------ ----- -- ------ ----
- 避免端口冲突
为了避免端口冲突,可以在启动应用时指定一个随机端口号。可以使用以下代码生成一个随机端口号:
----- ---- - ---------------- -- ------------------------ - -------
在启动命令中指定环境变量:
------ --- ----- ------ ------ -----
这将在启动应用时自动选择一个空闲端口。
总结
在使用 PM2 启动 Node.js 应用时,遇到 “Error: listen EADDRINUSE” 错误时,可以通过查找占用端口的进程、结束占用该端口的进程、修改应用端口号或者避免端口冲突来解决该问题。希望本文对解决该问题有所帮助。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/650ea5cf95b1f8cacd7bb9a4