知识库

解决 Neo4j Desktop 中的端口冲突

在升级或重新安装时,Neo4j Desktop 有时会抛出针对 7474、7687、7473 端口的重复端口冲突异常,并提供 “Fix Configuration”(修复配置)选项。然而,在某些情况下选择该选项并不能解决端口冲突。使用播放按钮尝试启动数据库时,会收到端口冲突通知,提示去修复配置。点击“Fix Configuration”后没有任何变化,数据库仍未启动。

Desktop Port Conflict1

数据库可以通过 bin\neo4j console 启动,并可在独立的 Chrome 浏览器中访问;但启动 Neo4j Browser 时会报错,提示凭证无效,请使用 :server connect。执行 :server connect 同样报错,提示提供的凭证无法使用。

Desktop Port Conflict2

首先检查默认或自定义的 http、https、bolt 端口在操作系统防火墙和/或杀毒软件中是否被允许。第二步可以使用 nc -l -p <port> 本地检测端口是否可用,以及是否已被其他应用/进程占用。另一种写法是 nc -v <hostname> <port>,用于检查远程实例上的 Neo4j 服务器。Windows 系统下可使用内置的 telnet 工具,例如在命令提示符中执行 telnet hostname.domain.com 7687

完成上述检查后,建议先备份 .Neo4jDesktop 目录:在 macOS 上路径为 /Users/user/ /Library/Application Support/,在 Windows 上为 %USERPROFILE%\.Neo4jDesktop\%USERPROFILE%\AppData\Roaming\Neo4j Desktop\,随后删除这些目录,重新安装所需的 Neo4j Desktop 版本并重启操作系统。

如果端口冲突仍然存在,下一步是检查操作系统的 hosts 文件是否存在潜在问题。Linux 与 macOS 的 hosts 文件位于 (/etc/hosts),Windows 也有 hosts 文件,路径为 \Windows\System32\drivers\etc\。可以快速验证系统是否能够正确解析主机名,在 cmd 中执行 tracert localhost,应只显示一次跳转。hosts 文件中仅应包含以下这一行,如有需要可以注释、删除或修改该行或整个文件。示例输出如下:

$ traceroute localhost
traceroute to localhost (127.0.0.1), 64 hops max, 52 byte packets
 1  localhost (127.0.0.1)  1.167 ms  0.112 ms  0.085 ms

如果 traceroute 返回为空结果,请在 hosts 文件中注释掉所有与 localhost 相关的条目。随后再次运行 tracert localhost。完成后尝试在 Desktop 中启动图数据库,观察问题是否已解决。测试期间,hosts 文件中的对应行应保持注释状态。

上述步骤已被验证可缓解所遇到的端口冲突问题。

© . This site is unofficial and not affiliated with Neo4j, Inc.