解决 Neo4j Desktop 中的端口冲突
在升级或重新安装时,Neo4j Desktop 偶尔可能会对端口 7474、7687、7473 抛出重复的端口冲突异常,并提供一个“修复配置”选项。然而,在某些情况下,选择此选项并不能解决端口冲突。尝试使用播放按钮启动数据库会导致端口冲突通知,提示修复配置。点击修复配置没有任何改变,数据库也无法启动。

数据库可以使用 bin\neo4j console
启动,并且可以通过独立的 Chrome 浏览器访问,但启动 Neo4j Browser 会抛出提示凭据无效的错误,要求使用 :server connect。执行 :server connect 会抛出提供的凭据无法使用的错误。

首先要检查的是,操作系统防火墙和/或杀毒软件是否允许默认/配置的 http、https、bolt 端口。其次是执行 nc -l -p <port>
命令,这会检查本地端口的可用性以及端口是否已被其他应用程序/进程占用。另一种变体是 nc -v <hostname> <port>
,用于 Neo4j 服务器在远程实例上的情况。对于 Windows,可以使用内置的 telnet 工具通过命令提示符执行,例如 telnet hostname.domain.com 7687
。
完成上述检查后,值得尝试备份 MacOSX 上 /Users/user/ /Library/Application Support/
或 Windows 上 %USERPROFILE%.Neo4jDesktop\
和 %USERPROFILE%\AppData\Roaming\Neo4j Desktop\
的 .Neo4jDesktop 目录,然后删除这些目录,接着重新安装所需的 Neo4j Desktop 版本并重启操作系统。
如果端口冲突持续存在,下一步故障排除是检查操作系统 hosts
文件是否存在潜在问题。Linux 和 Mac OS 上的 hosts 文件位于 (/etc/hosts)。Windows 也有 hosts 文件,在 Windows 上可以在 \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
如果路由跟踪返回空结果,尝试注释掉 hosts 文件中所有与 localhost 相关的内容。然后再次尝试运行 tracert localhost
命令。在此之后,尝试在 Desktop 中启动一个图数据库,看看问题是否已解决。在 Desktop 中测试时,hosts 文件中的相关行应该被注释掉。
上述步骤经测试可缓解遇到的端口冲突问题。
此页面有帮助吗?