2016-09-23 65 views
0

我試圖在遠程Ubuntu服務器上設置Flask/Neo4j應用程序,並且遇到了一個我一直無法弄清楚的問題。我的應用程序使用py2neo,但是當它嘗試連接到圖形時,應用程序崩潰,Neo4j進程似乎停止。我試過在這樣的python shell中連接...py2neo SocketError:連接被拒絕,但curl正常工作

test = Graph('http://localhost:7474/db/data/',username='neo4j',password='myPassword') 

它失敗了,並且也使neo4j失效,直到我重新啓動它。然而,這些返回200響應(和Web界面也適用):

curl -u neo4j http://localhost:7474/db/data/ 

requests.get('http://localhost:7474/db/data/', auth=('neo4j','myPassword')) 

我試過比this similar question提供更多的信息,因爲這似乎是連接來自世界各地,但py2neo工作。

以下是完整回溯:

Traceback (most recent call last): 
    File "/home/deploy/toponimika/toponimikaenv/lib/python3.5/site-packages/py2neo/database/__init__.py", line 318, in __new__ 
    inst = cls.__instances[key] 
KeyError: (<class 'py2neo.database.Graph'>, <ServerAddress settings={'http_port': 7474, 'host': 'localhost'}>, 'data') 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/home/deploy/toponimika/toponimikaenv/lib/python3.5/site-packages/py2neo/packages/httpstream/http.py", line 322, in submit 
    response = send() 
    File "/home/deploy/toponimika/toponimikaenv/lib/python3.5/site-packages/py2neo/packages/httpstream/http.py", line 317, in send 
    http.request(xstr(method), xstr(uri.absolute_path_reference), body, headers) 
    File "/usr/lib/python3.5/http/client.py", line 1106, in request 
    self._send_request(method, url, body, headers) 
    File "/usr/lib/python3.5/http/client.py", line 1151, in _send_request 
    self.endheaders(body) 
    File "/usr/lib/python3.5/http/client.py", line 1102, in endheaders 
    self._send_output(message_body) 
    File "/usr/lib/python3.5/http/client.py", line 934, in _send_output 
    self.send(msg) 
    File "/usr/lib/python3.5/http/client.py", line 877, in send 
    self.connect() 
    File "/home/deploy/toponimika/toponimikaenv/lib/python3.5/site-packages/py2neo/packages/httpstream/http.py", line 80, in connect 
    self.source_address) 
    File "/usr/lib/python3.5/socket.py", line 711, in create_connection 
    raise err 
    File "/usr/lib/python3.5/socket.py", line 702, in create_connection 
    sock.connect(sa) 
ConnectionRefusedError: [Errno 111] Connection refused 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/home/deploy/toponimika/toponimikaenv/lib/python3.5/site-packages/py2neo/database/__init__.py", line 327, in __new__ 
    use_bolt = version_tuple(inst.__remote__.get().content["neo4j_version"]) >= (3,) 
    File "/home/deploy/toponimika/toponimikaenv/lib/python3.5/site-packages/py2neo/database/http.py", line 154, in get 
    response = self.__base.get(headers=headers, redirect_limit=redirect_limit, **kwargs) 
    File "/home/deploy/toponimika/toponimikaenv/lib/python3.5/site-packages/py2neo/packages/httpstream/http.py", line 966, in get 
    return self.__get_or_head("GET", if_modified_since, headers, redirect_limit, **kwargs) 
    File "/home/deploy/toponimika/toponimikaenv/lib/python3.5/site-packages/py2neo/packages/httpstream/http.py", line 943, in __get_or_head 
    return rq.submit(redirect_limit=redirect_limit, **kwargs) 
    File "/home/deploy/toponimika/toponimikaenv/lib/python3.5/site-packages/py2neo/packages/httpstream/http.py", line 433, in submit 
    http, rs = submit(self.method, uri, self.body, self.headers) 
    File "/home/deploy/toponimika/toponimikaenv/lib/python3.5/site-packages/py2neo/packages/httpstream/http.py", line 362, in submit 
    raise SocketError(code, description, host_port=uri.host_port) 
py2neo.packages.httpstream.http.SocketError: Connection refused 

什麼我可能會嘗試找出發生了什麼事情,將不勝感激。

回答