Neo4j远程访问问题

时间:2014-03-23 15:37:09

标签: ubuntu neo4j localhost

我遇到有关在Ubuntu 12.04上新安装Neo4j的问题;服务器启动正常,没有列出任何重大错误(下面发布的启动文本),但我无法远程访问webadmin,即使“org.neo4j.server.webserver.address = 0.0.0.0”行未注释。当我尝试连接时,Chrome只是超时(错误消息“糟糕!Google Chrome无法连接到twofish.cs.unc.edu:7474”)。关于SO的其他几个问题列出了类似的问题,但解决方案只是“它在某些时候自行修复。”

到目前为止,我已经尝试过了:

- uncommenting and recommenting that line in the server config file, with stopping and starting the server in between each change.
- restarting the entire Ubuntu server.

Neo4j的启动消息如下:

  

twofish(66)%sudo service neo4j-service start

     

警告:允许最多1024个打开文件,建议最少40 000个。请参阅Neo4j手册。   使用其他JVM参数:-server -XX:+ DisableExplicitGC -Dorg.neo4j.server.properties = conf / neo4j-server.properties -Djava.util.logging.config.file = conf / logging.properties - > Dlog4j.configuration = file:conf / log4j.properties -XX:+ UseConcMarkSweepGC - > XX:+ CMSClassUnloadingEnabled

     

启动Neo4j服务器...警告:不更改用户   进程[3505] ...等待服务器准备好......好的。

     

http://localhost:7474/ is ready.

我还将整个配置文件夹放在驱动器上的文件夹中:https://drive.google.com/folderview?id=0Bx98DkxmHnEtLXloTDJwSUdyLTg&usp=sharing

对可能导致此问题的原因提出任何建议?

更新: 关于防火墙设置,我无法提供太多信息,因为我不负责安全性。该机器是大学CS部门网络的一部分,我相当确定防火墙设置是在网络级别管理的,高于我的工资等级。我们在部门内的另一台服务器上运行Neo4j实例(并可远程访问);但是,我不知道它的防火墙配置(或部门甚至使用的防火墙软件)是否与我遇到问题的服务器相同。

关于通过localhost连接:我能够使用neo4j-shell访问数据库并运行"curl http://localhost:7474"返回

{
  "management" : "http://localhost:7474/db/manage/",
  "data" : "http://localhost:7474/db/data/"
}t

我不知道这是否意味着它可以通过本地机器访问;我假设如果curl没有抛出错误,可以从localhost ...

访问

更新:来自远程主机的curl http://twofish.cs.unc.edu:7474返回curl: (7) couldn't connect to host,所以显然我可以通过localhost访问,但不能通过远程主机访问。

3 个答案:

答案 0 :(得分:1)

将Neo4j服务器配置中的7474端口更改为端口80.您的大学防火墙很可能阻止了预先批准的端口列表中的任何内容。

根据您的curl请求,Neo4j服务器正在运行且可用。问题在于网络配置。

答案 1 :(得分:1)

与neo4j 2.1.7相同的问题。我遵循了这些installation steps。在我的情况下,没有防火墙规则,也将org.neo4j.server.webserver.address更改为0.0.0.0但仍然没有运气,可以从localhost连接,但不能从远程连接。

我发现该问题仅通过以下方式验证启动neo:

service neo4j-service start

相反,一切都很好:

cd $NEO4J_HOME && ./neo4j start

我猜这是服务脚本中的一个错误。顺便说一下,文档还说明了

  

不推荐使用这种将Neo4j作为服务器运行的方法。我们强烈   建议您在可行的情况下从包装中运行Neo4j。

为了简化故事,我认为在我的情况下使用包不方便,我已经能够用以下方法解决问题:

  1. ./ bin / neo4j-installer install
  2. update-rc.d -f neo4j-service remove
  3. 安装并配置supervisord以管理新服务以代替System V启动链接
  4. 如果可能,首选使用os包安装neo4j。

答案 2 :(得分:0)

我知道现在已经很晚了,但如果有人在将来遇到这件事,我就会张贴它。问题通常来自iptables,只是完全禁用它或(更好)添加适当的规则(在拒绝所有之前),就是这样:)