1

我正在尝试在服务器上托管的网站上使用neo4j数据库。我正在使用. 我已按照http://neo4django.readthedocs.org/en/v0.1.8/index.html中的说明进行操作。创建节点时,出现以下错误:djangoApacheneo4django

error at /disk/ [Errno 111] Connection refused Request

我的模型.py:

import django.db
from neo4django.db import models

class Person(django.db.models.Model):
name = django.db.models.CharField(max_length=50, null=True, blank=True)
username = django.db.models.CharField(max_length=50, null=True, blank=True)
password=django.db.models.CharField(max_length=50, null=True, blank=True)
email=django.db.models.CharField(max_length=50, null=True, blank=True)

    class Meta:
        db_table='lt_profile'

class Pnode(models.NodeModel):
    name=models.StringProperty()
    #more fields

class Anode(models.NodeModel):
    art_type=models.StringProperty(max_length=50)
    mtime=models.StringProperty(max_length=200)

#relation:

我的设置.py:

NEO4J_DATABASES = {
    'default' : {
        'HOST':'localhost',
        'PORT': 7474,
        'ENDPOINT':'/var/www/graph_db'
    }
}

DATABASE_ROUTERS = ['neo4django.utils.Neo4djangoIntegrationRouter']

发生错误的代码:

a = Anode.objects.create(art_type='py', mtime=str(file_mtime))
a.save()

我想我需要port.conf在 Apache 中更改我的文件中的某些内容,但我不知道我应该做什么。我试过这样的事情:

听 7474 中的ports.conf,但没有运气。任何帮助将不胜感激。谢谢

4

1 回答 1

1

@Wes 在评论中是正确的 - 您的端点应该设置为相对 URL,而不是文件路径。

从 docs中,try'ENDPOINT':'/db/data'是 Neo4j 的默认设置。

编辑:

其他一些建议:

您绝对不需要在 Apache 配置中添加任何内容。Apache 从 Django 提供您的内容,但不控制您可以从 Django 访问哪些端口 - 它的配置文件仅涵盖外部用户可以访问的端口。事实上,如果 Apache 被配置为侦听 7474 并且它与 Neo4j 在同一台服务器上,其中一个将无法使用该端口。

在您的代码中,您使用a = Anode.objects.create(...)后跟a.save(). Anode.objects.create()是一个捷径

a = Anode(...)
a.save()

所以你实际上节省了两次。我会使用其中一种来避免不必要地频繁访问数据库。

于 2013-07-11T03:21:55.367 回答